Python矢量图缺少标签
我试图绘制向量,并给每个向量一个唯一的标签。 下面的代码显示了我的推理。问题是只添加了一个标签。 我还尝试了plt.quiver()命令中的label=labs[:],但没有成功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
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专家。