Christopher Barker wrote:
David Goldsmith wrote:
I feel like I must be missing something
yup – though it’s an understandable miss…
I think the longstanding separation between the figure.dpi and the savefig.dpi is a continual gotcha that we can and should eliminate. Savefig should use the figure dpi, so that what is saved corresponds to what is on the screen, unless explicitly overridden. One way to reduce the problem, with what I hope is an adequate level of backwards compatibility, would be to have the savefig.dpi default to a special flag setting that means “track the figure.dpi”. For example, savefig.dpi could be the string, ‘screen’, by default. This could still be overridden by a numerical rcParams setting, or by the explicit dpi kwarg setting in savefig() or print_figure().
There are still other highly confusing dpi things internally–such as a renderer.dpi setting that is ignored during rendering.
Comments?
This appears to have never been “fixed” (though I see no opposition expressed looking back at the original thread in the archive) - having forgotten about it and the fact that, at the time, it sent me running to PIL, I got bitten by it again (luckily I had a vague recollection of this thread before posting the same problem again and making a complete ass outta myself). I’m not sure if I have the bleeding edge version of MPL, but as I’m now working on the second different computer I’ve had since the OP, I’m pretty sure I’m running a later version than I was back then. Did this issue ever mature into a ticket?
DG
···
On Mon, Oct 6, 2008 at 10:56 AM, Eric Firing <efiring@…202…> wrote:
Eric
Attached are the results on my computer (see usage details below).
Granted, I’m increasing the resolution each iteration,
you are increasing the resolution of the figure, and of your calculations, but NOT of the output image. The hint was that every image was the same size: 1200X900 , which is 12"x9" at 100 dpi.
It turns out that print_figure() doesn’t respect the figures (native DPI), it defaults to 100 dpi, but you can override it:
canvas.print_figure(“test”+str(DPI)+“dpi.png”, dpi=DPI)
Then you’ll get what I think you want.
Maybe this will help:
http://www.scipy.org/Cookbook/Matplotlib/AdjustingImageSize
though it there, I talked about Figure.savefig(). I don’t know if there is a difference between that and Figure.print_figure()
-Chris
David Goldsmith wrote:
Christopher Barker wrote:
David Goldsmith wrote:
I feel like I must be missing something
yup -- though it's an understandable miss...
I think the longstanding separation between the figure.dpi and the
savefig.dpi is a continual gotcha that we can and should eliminate.
Savefig should use the figure dpi, so that what is saved corresponds
to what is on the screen, unless explicitly overridden. One way to
reduce the problem, with what I hope is an adequate level of
backwards compatibility, would be to have the savefig.dpi default to
a special flag setting that means "track the figure.dpi". For
example, savefig.dpi could be the string, 'screen', by default. This
could still be overridden by a numerical rcParams setting, or by the
explicit dpi kwarg setting in savefig() or print_figure().
There are still other highly confusing dpi things internally--such
as a renderer.dpi setting that is ignored during rendering.
Comments?
This appears to have never been "fixed" (though I see no opposition expressed looking back at the original thread in the archive) - having forgotten about it and the fact that, at the time, it sent me running to PIL, I got bitten by it again (luckily I had a vague recollection of this thread before posting the same problem again and making a complete ass outta myself). I'm not sure if I have the bleeding edge version of MPL, but as I'm now working on the second different computer I've had since the OP, I'm pretty sure I'm running a later version than I was back then. Did this issue ever mature into a ticket?
Not that I know of. I never got back to it, and I don't think anyone else did, either.
Eric
···
On Mon, Oct 6, 2008 at 10:56 AM, Eric Firing <efiring@...202... > <mailto:efiring@…202…>> wrote:
DG
Eric
Attached are the results on my computer (see usage details
below).
Granted, I'm increasing the resolution each iteration,
you are increasing the resolution of the figure, and of your
calculations, but NOT of the output image. The hint was that
every image was the same size: 1200X900 , which is 12"x9" at 100
dpi.
It turns out that print_figure() doesn't respect the figures
(native DPI), it defaults to 100 dpi, but you can override it:
> canvas.print_figure("test"+str(DPI)+"dpi.png", dpi=DPI)
Then you'll get what I think you want.
Maybe this will help:
http://www.scipy.org/Cookbook/Matplotlib/AdjustingImageSize
though it there, I talked about Figure.savefig(). I don't know
if there is a difference between that and Figure.print_figure()
-Chris