George: If you want to preserve the aspect ratio of the map, you need to calculate it ahead of time and make sure that you create a figure with the same aspect ratio and define an axes with no white space. For example, for a global cylindrical equidistant projection, the aspect ration should be 2:1, so you would create a figure like this
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(10,5))
ax = plt.axes([0,0,1,1])
m = Basemap(projection=‘cyl’,lon_0=180)
m.drawcoastlines()
m.fillcontinents()
m.drawparallels(np.arange(-60,61,30))
m.drawmeridians(np.arange(60,301,60))
plt.savefig(‘nowhite.png’)
plt.show()
Note that you need to create the axes instance before the Basemap instance.
If you don’t care about the aspect ratio of the map being correct, you can set fix_aspect=‘False’, create a map of any size you like, and use an axes with no white space. For example,
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(8,8))
ax = plt.axes([0,0,1,1])
m = Basemap(projection=‘cyl’,lon_0=180,fix_aspect=False)
m.drawcoastlines()
m.fillcontinents()
m.drawparallels(np.arange(-60,61,30))
m.drawmeridians(np.arange(60,301,60))
plt.savefig(‘nowhite2.png’)
plt.show()
If you don’t set fix_aspect=False in this example, you’ll get a map with a 2:1 aspect ratio and lots of white space on the top and bottom of the plot.
-Jeff
<details class='elided'>
<summary title='Show trimmed content'>···</summary>
On Tue, 10 Nov 2009 13:13 -0500, "George Bonev" <georgebg8@...287...> wrote:
> Hello,
>
>
>
> I am plotting a fig in Basemap, but I don't need the extra while space on the sides of the figure when I use savfig(). I tried axes([0,0,1,1]) but that just gave me a blank white screen with some ticks on the sides. Is there another way to do it with Basemap? Please help!
>
>
>
> Thank you,
>
>
>
> George B.
------
Jeffrey S. Whitaker
Phone: (303)497-6313
FAX: (303)497-6449
NOAA/OAR/CDC R/CDC1 325 Broadway, Boulder, CO, USA 80305-3328 http://www.cdc.noaa.gov/people/jeffrey.s.whitaker