【发布时间】:2015-10-02 01:05:10
【问题描述】:
我正在尝试在天气图上添加图像“标记”,但图像位于其他数据下方。
有没有办法强制图像位于其他绘图数据之上(如填充的大陆和轮廓图)。
这几乎可以工作,但它不会将图像放在顶部:
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)
我希望蓝色印章在顶部,但不知道该怎么做...
【问题讨论】:
-
啊哈!算了 - 我在上面的链接中使用了第二个答案。第一个答案确实有效。我应该使用 OffsetImage 和 AnnotationBbox。这成功地将图像放置在绘图数据之上。
标签: python matplotlib overlay matplotlib-basemap