I feel like I must be missing something: below is some "minimal sample" code which reproduces a "problem" I'm seeing in a more complicated situation:
import matplotlib as MPL
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
for DPI in range(100,201,25):
fig = Figure(figsize=(12,9),
dpi=DPI,
frameon=False)
canvas = FigureCanvas(fig)
nx, ny = (N.uint16(12*DPI), N.uint16(9*DPI))
temp = N.indices((ny, nx), N.uint8)
result = N.zeros_like(temp[0])
result[:ny/2,:] = temp[0,:ny/2,:] + temp[1,:ny/2,:]
result[ny/2:,:] = temp[0,ny/2:,:] - temp[1,ny/2:,:]
fig.figimage(result/N.float(N.max(result)))
canvas.print_figure("test"+str(DPI)+"dpi.png")
Attached are the results on my computer (see usage details below). Granted, I'm increasing the resolution each iteration, but I'm always placing the "cut" in the figure half way through - why does the cut keep creeping up 'til it disappears?
Usage details: matplotlib version=? (I forget how to get that), numpy version = 1.0.4, Python version = 2.5.2, OS = Windows XPProSP3, 504 MB RAM w/ "Physical Address Extension" (whatever that means).
DG
PS: If the figures don't come through and for some reason my code doesn't work on your platform or doesn't reproduce the problem, email me and I'll email you the figures directly.