我有一个计算数据(x,y),我想把它放在纸上的图像上,以便与它的某些边界进行比较。如果这个图像是2D x,y图,我会很容易地提取点,然后与我一起绘制。然而,这个图像是一个3D彩色图,因此,如果我只是想读取图像,根据它定义我的坐标并在顶部绘制我的数据,所以最后看起来像2层。
我可以通过以下方式绘制散点图:
import matplotlib.pyplot as plt
im = plt.imread('fig_exp.png')
implot = plt.imshow(im)
# put a blue dot at (10, 20)
plt.scatter([10], [20], c='r', s=2000, marker=u'*')
plt.show()
但是如何定义图像坐标以便我可以绘制图像
x=[-100,-80,-60,-40]
y=[10,15,20,25]
plt.plot(x,y,'-ro')
这里的问题是我不知道如何定义坐标,如图所示。除此之外,我不知道如何绘制不是散射而是划线。
我感谢任何有用的解决方案!
答案 0 :(得分:0)
您正在寻找extent=
的{{1}}关键字参数,详见documentation
关于第二个问题,如果你想要一个折线图,你可以使用imshow()
函数而不是plot()
。