如何在Python循环中逐个数据点放置图例(或在外部)?
在matplotlib这个库里,我正在用一个循环来画图。每次循环只画一个数据点,也就是用(X[index], Y[index])来表示这个点的位置,并且用C[index]来给这个点上颜色。这样每个点就会有不同的颜色。我总共用了8种颜色来表示我的数据点,所以我希望能有一个图例,显示这8种颜色,每种颜色代表一个特定的意思。
这是我的代码。谢谢大家的帮助。: )
for index in range(0,len(X)):
plt.plot(X[index],Y1[index], marker = 'o', markersize = 10, color = C[index])
plt.xlabel("the percentage of students' credit hours found in instructor data", fontsize=14, color ="blue")
plt.ylabel("total number of writing assinments", fontsize=14, color="blue")
plt.axis([0, 100, 0, max(Y1)])
plt.show()
1 个回答
2
下面是直接来自matplotlib文档的一个例子:
在这里,kwargs可以用来设置线条的属性(任何有set_*方法的属性)。你可以用它来设置线条的标签(用于自动生成图例)、线宽、初始化、标记的面颜色等等。下面是一个例子:
plot([1,2,3], [1,2,3], 'go-', label='line 1', linewidth=2)
plot([1,2,3], [1,4,9], 'rs', label='line 2')
axis([0, 4, 0, 10])
legend()
所以,如果你为每条线设置了label
属性,那么你只需要在之后调用legend()
,它就会自动生成带有相应标签的图例。
如果你想对图例做一些更复杂的操作,他们还有相关文档可以参考。