【问题标题】:image on top of basemap continent底图大陆顶部的图像
【发布时间】: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


【解决方案1】:

啊哈!算了吧——我在上面的链接中使用了第二个答案。第一个答案确实有效。我应该使用 OffsetImage 和 AnnotationBbox。这成功地将图像放置在绘图数据之上。

【讨论】:

    【解决方案2】:

    更一般地,您可以使用zorder 参数来控制在顶部绘制哪些艺术家。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      • 2016-07-18
      相关资源
      最近更新 更多