首页 文章

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

提问于
浏览
1

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

对于底图(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

    你可以 grab 轴并用普通的matplotlib设置限制:

    ax = plt.gca()
    
    ax.set_xlim(-25,45)
    ax.set_ylim(10,90)
    
  • 0

    我相信你是对的,从版本1.0.7开始,在the documentation中显示为"global"的预测不提供子设置 .

相关问题