Matplotlib 将赤平摄影图限制为底图中的四分之一或部分

Matplotlib 将赤平摄影图限制为底图中的四分之一或部分,matplotlib,matplotlib-basemap,map-projections,Matplotlib,Matplotlib Basemap,Map Projections,我一直在stackoverflow和整个互联网上搜索,但没有找到解决我问题的方法 我想把一个赤平投影图缩小到一个有ge绘制的实际有效点的区域。这意味着“切掉”我附加的图像上多余的白色。Basemap的文档并没有真正的帮助 以蓝色显示区域的底图绘制的图,我希望将其缩小为: 我用来绘制图形的代码如下: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap, cm fi

我一直在stackoverflow和整个互联网上搜索,但没有找到解决我问题的方法

我想把一个赤平投影图缩小到一个有ge绘制的实际有效点的区域。这意味着“切掉”我附加的图像上多余的白色。Basemap的文档并没有真正的帮助

以蓝色显示区域的底图绘制的图,我希望将其缩小为:

我用来绘制图形的代码如下:

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

field = np.ones(shape=(20,80))
plt.figure(figsize=(12, 12))

lonsize=[-50,30]
latsize=[60,80]
m = Basemap(width=4500000,height=3000000,
        resolution='i',projection='stere',boundinglat=45,
        lat_0=70,lon_0=-10.)

m.drawmapboundary(fill_color='white')
m.drawparallels(np.arange(-90., 91., 30.),labels=[1,1,1,1])
m.drawmeridians(np.arange(-180., 180., 30.),labels=[1,1,0,1],size=10)
m.fillcontinents(color='grey',lake_color='grey')

lonnew = np.linspace(-50, 30, 80)
latnew = np.linspace(60, 80, 20)
lons, lats = np.meshgrid(lonnew, latnew)
xx, yy = m(lons, lats)
m.pcolormesh(xx, yy, field, cmap='Spectral_r')
plt.show()
这是我想要得到的一个“真实世界”的例子:


我希望有人知道如何使用Basemap获得此结果。谢谢大家!

一种选择可能是使用
cartopy
而不是
basemap
。一个可能的解决办法是。但在这种情况下,很难让滴答声和滴答声标签正常工作(因为cartopy目前不支持这一点)。很抱歉,回复太晚,停止了在Basemap中让其正常工作的尝试,也不需要绘图。但是当我有空闲的时候,我会研究一下:)一个选择可能是使用
cartopy
而不是
basemap
。一个可能的解决办法是。但在这种情况下,很难让滴答声和滴答声标签正常工作(因为cartopy目前不支持这一点)。很抱歉,回复太晚,停止了在Basemap中让其正常工作的尝试,也不需要绘图。但我有空的时候会调查一下:)