0

我有一个计算数据 (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')

在此处输入图像描述

这里的问题是我不知道如何定义图中的坐标。除此之外,我不知道如何绘制不是散布而是一条线。

我感谢任何有用的解决方案!

4

1 回答 1

0

您正在寻找文档中详述的extent=关键字参数imshow()

至于你的第二个问题,如果你想要一个线图,你使用plot()函数而不是scatter().

于 2015-07-21T09:21:09.200 回答