On Mon, Oct 25, 2010 at 11:56 AM, Lorenzo Isella
<lorenzo.ise...@gmail.com>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
>
>
>
> ##############################################################################3
>
> #!/usr/bin/env python
> """
> See pcolor_demo2 for a much faster way of generating pcolor plots
> """
> from __future__ import division
> from pylab import *
>
> from matplotlib import rc
>
>
> def func3(x,y):
>    return (1- x/2 + x**5 + y**3)*exp(-x**2-y**2)
>
>
> def func4(x,y):
>    theta=arcsin(y)
>    return cos(theta)
>
> def func5(x,y):
>
>    return abs(sin(y))
>
> def func6(x,y):
>
>    return abs(cos(y))
>
>
> # make these smaller to increase the resolution
> dx, dy = 0.0025, 0.0025
>
> # x = arange(-1.0, 1.0, dx)
> # y = arange(-1.0, 1.0, dy)
>
> x = arange(-pi, pi, dx)
> y = arange(-pi, pi, dy)
>
>
> print("x is, " )
>
> print (x)
>
> X,Y = meshgrid(x, y)
>
> Z = func6(X, Y)
>
> # print "Z is, ", Z
>
>
> ini=pi/2.+0.5
>
>
>
>
> fig = plt.figure(figsize=(6,6))
>
> ax = fig.add_subplot(111)
>
> ax.axis('off')
>
>
> figtext(.55, .8,r'${\bf J}^\perp$', fontdict=None,fontsize=30)
>
>
> im = imshow(Z,cmap=cm.jet, extent=(-pi, pi, -pi, pi))
> im.set_interpolation('bilinear')
>
> im.set_clip_path(Circle((0,0),pi/2., transform=ax.transData))
>
>
> # ax = plt.axes([0.0, 0.0, 1.0, 1.0]) # leaves no white space around the
> axes
>
>
> annotate("", xy=(-pi/2., 0), xytext=(-ini, 0), arrowprops=dict(fc="g"))
> annotate("", xy=(-pi/2., .2), xytext=(-ini, .2), arrowprops=dict(fc="g"))
> annotate("", xy=(-pi/2., -.2), xytext=(-ini, -.2), arrowprops=dict(fc="g"))
>
> annotate("", xy=(-pi/2., .4), xytext=(-ini, .4), arrowprops=dict(fc="g"))
> annotate("", xy=(-pi/2., -.4), xytext=(-ini, -.4), arrowprops=dict(fc="g"))
>
>
> annotate("", xy=(-pi/2., .6), xytext=(-ini, .6), arrowprops=dict(fc="g"))
> annotate("", xy=(-pi/2., -.6), xytext=(-ini, -.6), arrowprops=dict(fc="g"))
> annotate("", xy=(-pi/2., .8), xytext=(-ini, .8), arrowprops=dict(fc="g"))
> annotate("", xy=(-pi/2., -.8), xytext=(-ini, -.8), arrowprops=dict(fc="g"))
>
>
> annotate("", xy=(-pi/2., 1), xytext=(-ini, 1), arrowprops=dict(fc="g"))
> annotate("", xy=(-pi/2., -1), xytext=(-ini, -1), arrowprops=dict(fc="g"))
>
> annotate("", xy=(-pi/2., 1.2), xytext=(-ini, 1.2), arrowprops=dict(fc="g"))
> annotate("", xy=(-pi/2., -1.2), xytext=(-ini, -1.2),
> arrowprops=dict(fc="g"))
>
> annotate("", xy=(-pi/2., 1.4), xytext=(-ini, 1.4), arrowprops=dict(fc="g"))
> annotate("", xy=(-pi/2., -1.4), xytext=(-ini, -1.4),
> arrowprops=dict(fc="g"))
>
>
>
> annotate("", xy=(pi/2., 0), xytext=(ini, 0), arrowprops=dict(fc="g"))
> annotate("", xy=(pi/2., .2), xytext=(ini, .2), arrowprops=dict(fc="g"))
> annotate("", xy=(pi/2., -.2), xytext=(ini, -.2), arrowprops=dict(fc="g"))
>
>
> annotate("", xy=(pi/2., .4), xytext=(ini, .4), arrowprops=dict(fc="g"))
> annotate("", xy=(pi/2., -.4), xytext=(ini, -.4), arrowprops=dict(fc="g"))
>
>
> annotate("", xy=(pi/2., .6), xytext=(ini, .6), arrowprops=dict(fc="g"))
> annotate("", xy=(pi/2., -.6), xytext=(ini, -.6), arrowprops=dict(fc="g"))
> annotate("", xy=(pi/2., .8), xytext=(ini, .8), arrowprops=dict(fc="g"))
> annotate("", xy=(pi/2., -.8), xytext=(ini, -.8), arrowprops=dict(fc="g"))
>
>
> annotate("", xy=(pi/2., 1), xytext=(ini, 1), arrowprops=dict(fc="g"))
> annotate("", xy=(pi/2., -1), xytext=(ini, -1), arrowprops=dict(fc="g"))
>
> annotate("", xy=(pi/2., 1.2), xytext=(ini, 1.2), arrowprops=dict(fc="g"))
> annotate("", xy=(pi/2., -1.2), xytext=(ini, -1.2), arrowprops=dict(fc="g"))
>
> annotate("", xy=(pi/2., 1.4), xytext=(ini, 1.4), arrowprops=dict(fc="g"))
> annotate("", xy=(pi/2., -1.4), xytext=(ini, -1.4), arrowprops=dict(fc="g"))
>
>
> # annotate("", xy=( -1.4, -pi/2), xytext=(-1.4,ini),
> arrowprops=dict(fc="g"))
>
>
> annotate("", xy=(0., ini+1.), xytext=(0, -ini),
> arrowprops=dict(fc="black"))
>
>
>
> ax.annotate('', xy=(-.3, 2.4),  xycoords='data',
>                 xytext=(-.4, 2.2), # textcoords='offset points',
>                 arrowprops=dict(arrowstyle="->",
>
> connectionstyle="angle3,angleA=0,angleB=-10"),
>                 )
>
>
>
> savefig("first-plot.pdf")
>
> clf()
>
>
Lorenzo,

Have you tried this:

savefig("first-plot.pdf", bbox_inches='tight')

It might not work properly if you have annotations outside the plot area,
but give it a shot to see if that works for you.  If not, there are some
other "tricks" that might work.

Ben Root
------------------------------------------------------------------------------
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

Reply via email to