Python 矢量图缺少标签

Python vector plot missing labels

我正在尝试绘制向量并给每个向量一个唯一的标签。 下面的代码显示了我的推理。问题是只添加了一个标签。 我也在 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 不支持为每个箭头单独添加标签。

您可以使用 quiverkey 添加密钥,尽管这种方法类似于仅使用 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')

输出: