If you display the figure using show(), and you like how it looks,
you can ramp up the dpi for the saved figure by giving savefig() the
And I thought my change review boards were rough…
It sounds like you may need to increase the image size in inches and
decrease the dpi to do what you want. It sounds like your html
framework or web browser is not respecting the dpi setting in the
png file that is created. As others have mentioned, can you
generate an SVG and embed that instead?
On 11/18/2013 12:29 PM, Coleman,
yes that’s the problem. Thanks for responding.
“If you like the way the image appears on
screen, use the DPI argument to savefig()”
don’t exactly understand this. What do you mean on screen?
This code is integrated with a big project that I’m running
inside of ecplise, so I’m not sure what you mean by on
screen? Either way, when I add and change a DPI argument to
savefig(), it just blows up the dimensions of the PNG.
“My question back to you is, why does it
matter? Most layout programs will let you set the physical
size of the figure and scale the DPI to match.”
you’re saying, fine let it produce a huge png and then
shrink it with the html img tag and that will do the job,
right? Well, that’s really hard for us to do because we’re
using an existing solution and changing that will involve
lawyers, I kid you not.
I can increase the DPI on the savefig call and
correspondingly shrink the dimensions of the file in inches
to get it to stay the same size, but the problem is the text
and the lines, and the axis tick marks don’t shrink too,
which is really frustrating. I can then shrink the fonts,
but I don’t know how to shrink the tick marks and the
lines. Anyways, it really seems like there should be an
easier way – not to appear unappreciative in any way of the
hard work the devs put into this excellent project!
Chad Kidder 
Saturday, November 16, 2013 11:34 PM
Re: [Matplotlib-users] how can i raise the
dpi without changing the dimensions of my picture?
Let me see if I understand this right, you want to leave the
image dimensions, in inches, constant while increasing the
resolution in DPI to get a sharper image. Did I get that
If you like the way the image appears on screen, use the DPI
argument to savefig(). My experience is that if you change
the DPI when creating the figure, that will change the layout.
What it sounds like you are seeing is that when you crank the
DPI up, the PNG you created does not change its listed DPI,
and displays larger. I checked on my system, matplotlib
1.1.1, and it is updating the DPI in the PNG files.
My question back to you is, why does it matter? Most layout
programs will let you set the physical size of the figure and
scale the DPI to match.
On Nov 16, 2013 3:06 PM, "Bradley
Coleman" <colemanb@…4466… >
Hi there, I make a figure, then I do some
stuff, then I save the figure.
stuff fig = figure(figsize = (0.75, 3.5)) stuff fig.savefig(‘name.png’, bbox_inches='tight') My figure is perfect, but I'm having trouble increasing the
There are two ways that I can figure out to do that, one is
send a dpi as an
argument to figure() and the other to savefig(). Sending it
doesn’t change the file at all, so I’m not sure what it
does, but sending it
to savefig() does change the file. When I send dpi to
dpi=500, the resolution seems to get much better, and the
file size grows,
but the problem is that the height and width of the picture
grows too. I
want the resolution to go up, but not the height and width
of the picture.
What can I do?
DreamFactory - Open Source REST & JSON Services for
HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External
Free app hosting. Or install the open source package on any
Sign up and see examples for AngularJS, jQuery, Sencha Touch
Matplotlib-users mailing list