2

我需要使用 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()
4

2 回答 2

0

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

ax = plt.gca()

ax.set_xlim(-25,45)
ax.set_ylim(10,90)
于 2013-08-22T06:17:14.340 回答
0

我相信您是对的,并且从 1.0.7 版本开始,文档中指示为“全局”的预测不提供子设置。

于 2013-09-09T16:00:12.137 回答