Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何适应Matplotlib';s stock_img()与Cartopy';s近侧透视投影_Python_Matplotlib_Map Projections_Cartopy - Fatal编程技术网

Python 如何适应Matplotlib';s stock_img()与Cartopy';s近侧透视投影

Python 如何适应Matplotlib';s stock_img()与Cartopy';s近侧透视投影,python,matplotlib,map-projections,cartopy,Python,Matplotlib,Map Projections,Cartopy,我尝试使用Cartopy的proejction NearsidePerspective,但与Matplotlib提供的真实地球图像重叠,并通过降低卫星高度参数进行了一点放大。对于这种特定类型的设置,Cartopy似乎无法正确修剪图像。图像仍然显示在地图边界上 将cartopy.crs导入为CCR 将matplotlib.pyplot作为plt导入 图=plt.图(图尺寸=(10,10)) #集合投影 高度=3000000 #高度=35785831#这是默认高度 投影=ccrs.近侧透视图(中心经

我尝试使用Cartopy的proejction NearsidePerspective,但与Matplotlib提供的真实地球图像重叠,并通过降低
卫星高度
参数进行了一点放大。对于这种特定类型的设置,Cartopy似乎无法正确修剪图像。图像仍然显示在地图边界上

将cartopy.crs导入为CCR
将matplotlib.pyplot作为plt导入
图=plt.图(图尺寸=(10,10))
#集合投影
高度=3000000
#高度=35785831#这是默认高度
投影=ccrs.近侧透视图(中心经度=120,
中纬度=78,
卫星(高度=高度)
#画
ax=投影轴(投影=投影)
ax.库存量
ax.海岸线(分辨率=50m')
plt.show()

如何将Matplotlib的stock_img()与NearsidePerspective的此配置结合起来才能正常工作?或者,有什么替代方法可以达到预期的效果


我在Jupyter笔记本电脑、Matplotlib 3.0.2和Cartopy 0.16.0上使用Python 3.6。

在mac电脑上使用与Python 3.7、Matplotlib 3.0.3和Cartopy 0.17.0相同的代码,图像被正确剪切:


这可能是版本问题,也可能是Jupyter笔记本的问题。

对于我来说,地图图像被正确裁剪。我在mac电脑上使用的是Python 3.7,matplotlib版本为3.0.3,cartopy版本为0.17.0。正如@ThomasKühn所说,它可以正常工作。好吧,那么这可能只是本地设置/版本问题。谢谢你的评论。是否要回答问题,粘贴正确的图像?还是我应该删除这个问题?让我们把它作为一个问题。特别是如果你能弄清楚到底是什么原因导致了这个问题,以及如何解决它(无论是版本升级还是Jupyter中的设置),你可以继续编辑我的答案(我将把它变成一个社区wiki)。我希望对给定参数进行更近距离的缩放。例如,如果比较此图像的外圆,它包含整个格陵兰岛,而在问题中的图像中,仅显示格陵兰岛的最北端。这是卫星高度的不同行为,还是您使用了不同的值?我使用了您在示例代码中发布的相同高度值。现在,我也尝试了十分之一的高度,这使得面积更小,这仍然是正确的裁剪。