[Matplotlib-users] Basemap: Removing white space in savefig From: George Bonev - 2009-11-10 18:13:56 Attachments: Message as HTML ```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. ```
 Re: [Matplotlib-users] Basemap: Removing white space in savefig From: Jeff Whitaker - 2009-11-11 13:02:39 Attachments: Message as HTML ```On Tue, 10 Nov 2009 13:13 -0500, "George Bonev" 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. 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 ------ 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 ```