如何在Matplotlib中将新数据适配背景图像坐标轴并叠加绘图?
问题:让新数据适配背景图表图像的坐标轴实现叠加绘制
我需要将现有图表图像作为背景,在其上叠加绘制新数据。此前当图表内容完全处于坐标轴范围内时,我可以通过plt.imshow的extent参数缩放图像实现叠加,但现在需要对背景图表进行缩放和平移操作,且实际场景中无法重绘背景图表。
我的尝试步骤
1. 生成背景图表(可复现代码)
import matplotlib.pyplot as plt fig, ax = plt.subplots() ax.plot([0, 5, 10], [8, 5, 12]) ax.set_xlim(0, 20) ax.set_ylim(0, 15) ax.set_title('Background graph') fig.show() fig.savefig('bg_graph.png')

2. 尝试添加背景并叠加数据
bg_img = plt.imread('bg_graph.png') fig, ax = plt.subplots() ax.imshow(bg_img, extent=[0,50,0,50]) ax.scatter([4.9, 5.2], [7, 4.9]) fig.show() fig.savefig('result.png')

我用Excel制作了预期效果的原型图,目标是让新数据点精准对应背景图表的坐标轴位置,实现数据与背景坐标完全匹配的叠加:
核心需求
请问是否存在方法可以让新绘图拉伸适配背景图像的坐标轴来绘制新数据?假设图像中的坐标轴坐标已知或可通过试错获取——我需要的是让新绘图适配图像,而非让图像适配新绘图。
内容的提问来源于stack exchange,提问作者Arthur
相关产品推荐
相关产品推荐

