我有一个光栅图,从网上下载给我一个图像。
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))
答案 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, ...]
。