在点上绘制箭头

0 投票
1 回答
924 浏览
提问于 2025-04-18 14:06

我想知道怎么在matplotlib图形中画箭头,让它们显示在原始点的上面。

soa = np.array([vec1,vec2])
X,Y,U,V = zip(*soa)
ax = plt.gca()
ax.plot(ax, rotdata[:,0], rotdata[:,1], 'o', c='b')
ax.quiver(X,Y,U,V, angles='xy', scale_units='xy',scale=1,
          width=.02, color='r')

我用上面的代码得到了这个结果。

结果

这是我想要的结果

想要的结果

1 个回答

2

你需要为数据点和箭头指定一个顺序,可以通过使用 zorder 这个参数来实现,具体方法如下:

soa = np.array([vec1,vec2])
X,Y,U,V = zip(*soa)
ax = plt.gca()

ax.plot(ax, rotdata[:,0], rotdata[:,1], 'o', c='b', zorder=1)
ax.quiver(X,Y,U,V, angles='xy', scale_units='xy',scale=1,
      width=.02, color='r',zorder=2)

撰写回答