cartopy:如何在地图上添加图像

时间:2014-03-13 17:50:45

标签: matplotlib imshow cartopy

如何在图表地图上叠加自定义图像?

如果我这样做

ax = plt.axes(projection=map_quest_aerial.crs)
ax.set_extent([lon_0, lon_1, lat_0, lat_1])
plt.imshow('myimage.png', extent=(x0,x1,y0,y1))
plt.show()

我的图像在轴上正确显示。但是,如果我尝试添加背景地图图像,则不再显示我的图像:

ax = plt.axes(projection=map_quest_aerial.crs)
ax.set_extent([lon_0, lon_1, lat_0, lat_1])
ax.add_image(map_quest_aerial, 10)
plt.imshow('myimage.png', extent=(x0,x1,y0,y1))
plt.show()

只会产生地图图像。

这是因为地图图像实际上只是一个只在绘图命令中生成地图图像的工厂,因此破坏了我的图像吗?

1 个答案:

答案 0 :(得分:2)

这听起来像绘图顺序的问题。我认为您需要在调用imshow时设置zorder参数,尝试使用大数字来使图像在背景上绘制:

plt.imshow('myimage.png', extent=(x0, x1, y0, y1), zorder=10)