我正在使用 cartopy 和 matplotlib 进行一些绘图,并且我最近使用了 PlateCarree 转换,但我改用墨卡托,因为路易斯安那州有点太挤了,我不喜欢。在切换之前,我在左下角显示了一个徽标,使用这两行代码logo = matplotlib.image.imread('/Users/ian/Desktop/M.png')
plt.imshow(logo, extent =(lon-offset -1 + .25, lon - offset + .75, lat - offset + .25, lat - offset + 1 + .75), zorder=35)
使用这些点设置轴的范围
ax.set_extent([lon-offset-1, lon+offset+1, lat-offset, lat+offset])
切换到墨卡托后,除了徽标之外,我的一切都运行良好。我已将转换关键字参数添加到图像绘图线,所以现在它显示为:
plt.imshow(logo, extent =(lon-offset -1 +.25, lon - offset + .75, lat - offset + .25, lat - offset + 1 + .75), zorder=35, transform=ccrs.PlateCarree())
但是现在这个标志已经失去了它的清晰度,并且随着变形而变得歪斜,而且最神秘的是,它已经将角落切换到了情节的左上角。现在看起来像这样:
有谁知道如何在不歪斜此图像的情况下更改绘图的投影?我真正需要做的是确保图像的角落在转换后的坐标系中的绘图角落,但让图像的其余部分与坐标系无关。我正在考虑可能将图像单独放在自己单独的子图中,而不是尝试将那个子图直接放在主要的顶部。不过,这似乎是一个非常糟糕的解决方案。谢谢!