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')
输出:
我正在尝试绘制向量并给每个向量一个唯一的标签。 下面的代码显示了我的推理。问题是只添加了一个标签。 我也在 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')
输出: