From: Eric F. <ef...@ha...> - 2012-01-08 07:29:32
|
On 01/07/2012 07:01 PM, Ethan Swint wrote: > Hi, list- > > This question has been asked before, but all of my search results don't > address my problem: > <code> > fig = figure(1, figsize=(3.25, 3)) > plot([0,1,5,2,9]) > title('title') > xlabel('xAxis') > ylabel('yAxis') > fig.savefig('test.png',dpi=600) > </code> > The resulting figure is 2040x1890 pixels, or 3.4"x3.15", and the xlabel > is cut off. Looking at the PNG file in an image editor, it appears that > the axes and ticklabels fit the desired size. I've tried taking the > difference from the output size and requested size and feeding that back > in (3.25 - (3.4-3.25) = 3.10, but matplotlib seems to add an arbitrary > buffer and it still doesn't come out to the desired size. How does one > make an overall figure that is the desired size? Ethan, There seem to be two questions here. First, when I run your code, I get a png file of the right size: test.png: PNG image data, 1950 x 1800, 8-bit/color RGBA, non-interlaced What version of mpl are you using? I don't recall that it ever had the property you are reporting, generating a larger figure than requested. The second question is about the xlabel getting cut off. This is happening because mpl is using default subplot parameters that leave plenty of space for tick labels and axis labels with the default figure size, but don't leave enough if the figure is much smaller, and leave too much if the figure is much bigger. The subplot parameters are expressed as fractions of the figure size, but the text does not scale automatically with the figure size. Therefore you have to either specify the Axes position manually to leave the right size margins, or use subplots_adjust. When a figure is displayed on the screen, there is a button on the toolbar that brings up a subplots_adjust widget; this can be used to find values appropriate for your figure size, which you can then supply to your script. In the standard set of mpl examples there are many instances of subplots_adjust, e.g., http://matplotlib.sourceforge.net/examples/pylab_examples/subplots_adjust.html Eric > > Thanks, > Ethan > > ------------------------------------------------------------------------------ > Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex > infrastructure or vast IT resources to deliver seamless, secure access to > virtual desktops. With this all-in-one solution, easily deploy virtual > desktops for less than the cost of PCs and save 60% on VDI infrastructure > costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |