gpt4 book ai didi

python-3.x - 在 matplotlib 图形中插入 png 图像

转载 作者:行者123 更新时间:2023-12-04 08:23:29 28 4
gpt4 key购买 nike

我正在尝试在 matplotlib 图( ref )中插入一个 png 图像

import matplotlib.pyplot as plt
import numpy as np

from matplotlib.figure import Figure
from matplotlib.offsetbox import OffsetImage, AnnotationBbox


ax = plt.subplot(111)
ax.plot(
[1, 2, 3], [1, 2, 3],
'go-',
label='line 1',
linewidth=2
)
arr_img = plt.imread("stinkbug.png")
im = OffsetImage(arr_img)
ab = AnnotationBbox(im, (1, 0), xycoords='axes fraction')
ax.add_artist(ab)
plt.show()
插图:
enter image description here
获得的输出:
enter image description here
我想知道如何调整必须插入的图像的大小以避免重叠。
编辑:
保存图
ax.figure.savefig("output.svg", transparent=True, dpi=600, bbox_inches="tight")
enter image description here

最佳答案

您可以缩放图像并将框对齐设置为右下角 (0,1) 加上一些额外的边距:

im = OffsetImage(arr_img, zoom=.45)
ab = AnnotationBbox(im, (1, 0), xycoords='axes fraction', box_alignment=(1.1,-0.1))
enter image description here
您可能还想使用默认的数据坐标,并使用默认的 box_alignment 到中心,例如 ab = AnnotationBbox(im, (2.6, 1.45)) .见 xycoords parameter doc有关各种坐标选项的更多信息。

关于python-3.x - 在 matplotlib 图形中插入 png 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65387500/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com