Python 在当前绘图上插入图像而不变形
在matplotlib中,在特定数据位置的现有轴内,以其本机纵横比(可选)本机大小打印图像的最合适方式是什么 例如:Python 在当前绘图上插入图像而不变形,python,matplotlib,Python,Matplotlib,在matplotlib中,在特定数据位置的现有轴内,以其本机纵横比(可选)本机大小打印图像的最合适方式是什么 例如: from matplotlib.pyplot import plot from matplotlib.image import imread from matplotlib.cbook import get_sample_data plot([50,60],[1000,2000]) im = imread(get_sample_data("grace_hopper.png",
from matplotlib.pyplot import plot
from matplotlib.image import imread
from matplotlib.cbook import get_sample_data
plot([50,60],[1000,2000])
im = imread(get_sample_data("grace_hopper.png", asfileobj=False))
现在,我想绘制im
,例如,以坐标(571200)
为中心,具有一定的缩放比例或最大高度且不变形
我认为混合使用
matplotlib.offsetbox.AnchoredOffsetbox
和matplotlib.offsetbox.OffsetImage
应该可以解决问题,但我显然不熟悉这些类。正如预期的那样,解决方案在matplotlib.offsetbox
模块中:
from matplotlib.pyplot import plot, gca, show
from matplotlib.image import imread
from matplotlib.cbook import get_sample_data
from matplotlib.offsetbox import OffsetImage, AnnotationBbox
plot([50,60],[1000,2000])
im = imread(get_sample_data("grace_hopper.png", asfileobj=False))
oi = OffsetImage(im, zoom=0.1)
ab = AnnotationBbox(oi, (57, 1200), xycoords='data', frameon=False)
gca().add_artist(ab)
show()
结果如下:
事实上,AnnotationBbox
通过众多的选项完成了所需的一切和更多功能