Python,栅格绘图注释和绘图

时间:2015-02-07 19:23:45

标签: python matplotlib

我有一个光栅图,从网上下载给我一个图像。

imshow(data, aspect='equal', extent=(-1, 1, -1, 1), origin='lower')

其中data是下载和检索图像的函数。

我想在特定点上绘制红色圆圈,x[918], y[392]x[657], y[740]。 我无法绘制这些因为我的图表仅扩展-1,1,但图表中的数据值显然不同。

这是我迄今为止所尝试过的:

plt.plot((data[918,392],data[657,740]),'ro')
annotate('Site 1', xy=data(918,392), xytext=(0,0),
        arrowprops=dict(facecolor='black', shrink=0.05))

1 个答案:

答案 0 :(得分:0)

我认为这就是你想要的:

plt.imshow(data, aspect='equal', origin='lower')
plt.plot([918,657], [392,740],'ro')
plt.annotate('Site 1', xy=[918,392], xytext=(0,0),
    arrowprops=dict(facecolor='black', shrink=0.05))

实际上存在两个问题:首先,设置extent=(-1,1,-1,1)标准化图像的大小。如果省略它,图像将保持其实际像素大小。其次,在绘制圆形时,您必须提供坐标(而不是坐标处的数据):[x1, x2, ...], [y1, y2, ...]