如何在地图(Matplotlib)中使用自定义 png 图片标记?


要将自定义的 png 或 jpg,即图像用作图中的标记,我们可以采取以下步骤 −

  • 设置图像大小并调整子图之间的和周围的填充。

  • 创建一个路径列表以存储图像的目录。

  • 创建一个点列表 (x 和 y)。

  • 使用 subplots() 方法,创建一个图像和一组子图。

  • 为了绘制图像而不是点,迭代 x、y 和路径。

  • 用图像和 (x,y) 点实例化 AnnotationBbox()

  • 在两个轴上放置 xticksyticks

  • 要显示图像,请使用 show() 方法。

示例

import matplotlib.pyplot as plt
from matplotlib.offsetbox import OffsetImage, AnnotationBbox

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

def getImage(path):
   return OffsetImage(plt.imread(path, format="jpg"), zoom=.1)

paths = ['globe.jpg', 'settings.jpg', 'settings.jpg', 'globe.jpg']
x = [8, 4, 3, 6]
y = [5, 3, 4, 7]
fig, ax = plt.subplots()
for x0, y0, path in zip(x, y, paths):
   ab = AnnotationBbox(getImage(path), (x0, y0), frameon=False)
   ax.add_artist(ab)
plt.xticks(range(10))
plt.yticks(range(10))
plt.show()

输出

更新于: 2021 年 6 月 3 日

4K+ 次观看

开启你的 职业

完成课程取得认证

开始学习
广告