Sandro Tosi wrote: > Hi! > I have this configuration file: > > $ cat matplotlibrc > figure.figsize : 4, 3 > figure.dpi : 300 > savefig.dpi : 300 > font.size : 9.0 > > and using this code > > import matplotlib.pyplot as plt > plt.plot([1, 2, 3]) > plt.xlabel('This is the X axis') > plt.ylabel('This is the Y axis') > plt.savefig('7900_02_06.png') > > I obtain the attached image that, as you can see, has xlabel tect cut. > > What is the best way to avoid it? reducing the actual "plot" area > (axes and line)? or reducing the font size? > > Now that I look better at it, isn't it a bug after all? I see ylabel > correctly rendered, and xlabel not (but it's late in the night, so I > might be mistaken :) ) .
It is not really a bug; it is an inherent limitation in mpl's default automatic Axes positioning. Axes positions are given in normalized coordinates relative to the figure, so if you shrink the height of the figure (relative to the default, for which the default positioning parameters are designed), there is less physical space available for the x-axis ticks, ticklabels, and label--and things can get cut off. If you are adjusting the figsize and/or the font size, then chances are you need to adjust these normalized coordinate Axes position parameters as well. Trial and error is typically needed; it can be facilitated by using the subplot adjuster widget in an interactive window (second to last button on the toolbar) to decide what looks good. Then use the figure.subplot.* entries in matplotlibrc, or call plt.subplots_adjust(bottom=0.15) (for example), or call it as a method of the figure you have just created. For doing the interactive adjustment, you will want to use a smaller figure dpi, something to match your screen. Everything will scale correctly when you save the figure at higher dpi. Eric > > Thanks in advance, > > > ------------------------------------------------------------------------ > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA > -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise > -Strategies to boost innovation and cut costs with open source participation > -Receive a $600 discount off the registration fee with the source code: SFAD > http://p.sf.net/sfu/XcvMzF8H > > > ------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users