如何在图中使用自定义png图像标记(Matplotlib)?
要在绘图中使用自定义png或jpg即图像作为标记,我们可以执行以下步骤-
- 设置图形大小并调整子图之间和周围的填充。
-
制作路径列表以存储图像的目录。
-
制作点的列表(x和y)。
-
使用 subplots() 方法创建一个图形和一组子图。
-
要绘制图像而不是点,请迭代zipped x、y和paths。
-
用图像和(x,y)点实例化 AnnotationBbox() 。
-
在两个轴上放置 xticks 和 yticks 。
-
要显示图像,请使用 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()