Python矢量图缺少标签

Python矢量图缺少标签,python,matplotlib,vector,label,Python,Matplotlib,Vector,Label,我试图绘制向量,并给每个向量一个唯一的标签。 下面的代码显示了我的推理。问题是只添加了一个标签。 我还尝试了plt.quiver()命令中的label=labs[:],但没有成功 import matplotlib.pyplot as plt plt.style.use("ggplot") text1_occurences = [2,1] text2_occurences = [1,2] vectors = np.array([text1_occurences,text2_o

我试图绘制向量,并给每个向量一个唯一的标签。 下面的代码显示了我的推理。问题是只添加了一个标签。 我还尝试了plt.quiver()命令中的label=labs[:],但没有成功

import matplotlib.pyplot as plt
plt.style.use("ggplot")
text1_occurences = [2,1]
text2_occurences = [1,2]
vectors = np.array([text1_occurences,text2_occurences])
origin = np.array([[0, 0],[0,0]])
labs = ["text1","text2"]


plt.quiver(*origin,vectors[:,0],vectors[:,1],color=["r","g"],angles="xy",scale_units="xy",scale=1,label=labs)
plt.xlim(0,2.5)
plt.ylim(0,2.5)
plt.legend()
plt.legend(["text1","text2"], loc=1)
plt.legend(["text2"], loc=2)
plt.xlabel("Goodbye")
plt.ylabel("Hello")
情节如下所示:


如您所见,缺少一个标签(绿色,文本2)。

据我所知,我不相信
quiver
为每个箭头提供单独的标签

您可以使用添加一个键,尽管这种方法类似于只使用
plt.text

q = plt.quiver(*origin,vectors[:,0],vectors[:,1],color=["r","g"],angles="xy",
               scale_units="xy",scale=1)

plt.quiverkey(q, .1, .9, .2, labs[0], color='g', labelpos='E')
plt.quiverkey(q, .1, .83, .2, labs[1], color='r', labelpos='E')
输出:


您是否考虑过使用
plt.quiverkey
?@BigBen我以前从未见过
plt.quiverkey
。我试图实现它,但并不完全理解如何实现。如果你有时间,如果你能举个例子,我将不胜感激。如果没有,那没关系。最后,我添加了带有
plt.text
的标签。这一次效果很好,但对于将来的使用,我确信有更好的方法。我明白你的意思,它类似于
plt.text
。谢谢你花时间展示这个。@Aleks-是的。我的猜测是,如果您想为每个箭头使用唯一的标签,您必须为每个箭头分别调用
plt.quiver
。似乎上面的或
plt.text
适合您的用例(希望如此)。再说一次,也许有人会发布另一个答案,证明我错了,因为我绝对不是matplotlib专家。