我正在尝试在天气图上添加图像“图章”,但图像低于其他数据。
有没有办法强制图像在其他绘图数据之上(如填充的连续图和轮廓图)。
这几乎可行,但它没有把图像放在最上面:
Python Matplotlib Basemap overlay small image on map plot
以下是显示问题的示例代码:
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import numpy as np
lats = np.arange(45., 60., 0.5)
lons = np.arange(-15., 5., 0.5)
m = Basemap(projection='cyl', llcrnrlon=min(lons)-2, llcrnrlat=min(lats)-2,
urcrnrlon=max(lons)+2, urcrnrlat=max(lats)+2, resolution='l')
x, y = m(lons,lats)
m.drawcoastlines()
m.fillcontinents()
x0 = np.min(x)
y0 = np.min(y)+3
x1 = x0+(np.max(x)-np.min(x))/2.
y1 = y0+(np.max(y)-np.min(y))/2.
im = plt.imshow(plt.imread('MCC-logo.gif'), extent=(x0, x1, y0, y1), alpha=0.9)
plt.show()
(我还没有发布图片 - 我刚刚加入了stackoverflow)
我希望蓝色标记位于顶部,但无法弄明白该做什么......
答案 0 :(得分:0)
啊哈!算了吧 - 我在上面的链接中使用了第二个答案。第一个答案确实有效。我应该使用OffsetImage和AnnotationBbox。这成功地将图像置于绘图数据之上。
答案 1 :(得分:0)
更一般地说,您可以使用zorder
参数来控制最顶层的艺术家。