Thanks. This indeed improves the situation (and your suggestions about a for loop is appreciated). I am surprised at the fact that I have been able to generate such a plot via scripting only (well, with a lot of help from the list) by browsing the online examples and with my limited knowledge of matplotlib. Keep up the good work. Cheers
Lorenzo On 10/26/2010 06:07 AM, Tony S Yu wrote: > > On Oct 25, 2010, at 12:56 PM, Lorenzo Isella wrote: > >> Dear All, >> I am aware that this question has already been asked several times on >> the mailing list, see e.g. >> >> http://bit.ly/aPzQTA >> >> However, in the following snippet, nothing I tried has been able to >> reduce the amount of white space around the figure (including toying >> around with >> >> ax = plt.axes([0.0, 0.0, 1.0, 1.0]) >> ) >> Of course, one can always resort to pdfcrop, but I believe there must be >> a better solution to resize the margins from matplotlib. >> Please see the snippet at the end of the email. >> Every suggestion is welcome. >> Cheers >> >> Lorenzo > > [cut out code snippet] > > You can always use subplots_adjust. I haven't looked into the details of your > code, but it appears as though the actual plot (the actual graphics) is well > within the margins of your subplot (extending the boundaries of the subplot > would still leave a lot of white space). To counteract this you can use > negative padding (and padding greater than 1); e.g. > > subplots_adjust(top=1, bottom=-0.2, left=-0.3, right=1.3) > > (you can add this right before "savefig".) This means that the actual > boundaries of the subplot extend outside the figure (which normally have > extents from 0 to 1). The above gives pretty good results. To get any better, > I think you need to adjust the aspect ratio of the figure to match the plot > (you can do this by creating a "figure" and passing a value for "figsize"). > > -Tony > > P.S. since you posted code, I'll offer an unsolicited suggestion. :) You can > replace all your annotate commands (except for the last 2) with two short > loops: > > for y in np.arange(-1.4, 1.5, 0.2): > annotate("", xy=(-pi/2., y), xytext=(-ini, y), arrowprops=dict(fc="g")) > for y in np.arange(-1.4, 1.5, 0.2): > annotate("", xy=(pi/2., y), xytext=(ini, y), arrowprops=dict(fc="g")) > ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users