底图仅绘制感兴趣的区域,而不是整个地球

时间:2013-08-22 01:13:32

标签: python-2.7 matplotlib matplotlib-basemap

我需要使用mollweide投影,但只绘制一个感兴趣的区域。 (例如lat = [10,90],lon = [ - 25,45])。以下基本代码。

对于Basemap中的一些投影,这似乎是不可能的 (http://matplotlib.org/basemap/api/basemap_api.html#mpl_toolkits.basemap.Basemap)。

也许最终的情节可以用多边形掩盖。但也许有一种更清洁的方式?

from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt

m = Basemap(projection='moll',lon_0=0, lat_0=0,
        llcrnrlon = -25.0, llcrnrlat = 10.0,
        urcrnrlon = 45.0, urcrnrlat = 90.0)

# draw parallels and meridians.
m.drawparallels(np.arange(10.0, 91.0, 5.))
m.drawmeridians(np.arange(-25.0, 46.0, 5.))

m.drawmapboundary(fill_color='white')
plt.show()

2 个答案:

答案 0 :(得分:0)

您可以抓住轴并使用普通matplotlib设置限制:

ax = plt.gca()

ax.set_xlim(-25,45)
ax.set_ylim(10,90)

答案 1 :(得分:0)

我相信你是对的,从版本1.0.7开始,预测显示为"全球"在the documentation中没有提供子设置。