使用matplotlib用箭头散布图

时间:2014-07-27 02:40:22

标签: python matplotlib

我试图在matplotlib中制作散点图,箭头从点开始指示上限。为此我完成了以下工作,

arrow = u'$\u2193$'
ax.plot(x, y, linestyle='none', markersize=20, marker=arrow)
ax.plot(x, y, linestyle='none', markersize=10, marker='o')

但是,我对结果并不完全满意 -

This is the result

我希望箭头从点的中间出来。因此,点+箭头看起来更像是单个形状。有没有办法做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用quiver执行此操作。它需要位置和方向数据来制作充满箭头的图。但他们会从x,y开始而不是居中(正如你在剧情中找到的那样)

x=[4.0,7.0,4.5]
y=[3.0,1.0,5.5]
u=[0,0,0]
v=[1,1,1]
fig, ax = subplots()
ax.quiver(x,y,u,v)
ax.scatter(x,y,color='k')
ax.axis([0,10,0,10])