我有一些绘制图形的 Python 代码。该图包含 5 条曲线。每条曲线由 5 个点组成。我想使用图例来标记这些曲线。
假设 5 条曲线具有以下标记、颜色和标签名称:
markers = ['o','s','p','h','d']
colours = ['b','g','r','y','k']
labels = ['A','B','C','D','E']
为了清楚起见,第一条曲线将由 5 个“o”点组成,这些点将为蓝色并标记为“A”。
我的数据是一个列表列表,如下所示:
curve1 = [1,2,3,4,5]
curve2 = [2,3,4,5,6]
curve3 = [3,4,5,6,7]
curve4 = [4,5,6,7,8]
curve5 = [5,6,7,8,9]
xaxis = [1,2,3,4,5]
data = [curve1,curve2,curve3,curve4,curve5]
现在我像这样绘制 5 条曲线:
for j in range(len(xaxis)):
for i in range(len(xaxis)):
pylab.plot(xaxis,data[i],color=colours[i],marker=markers[i],label=labels[i])
pylab.legend(loc=0)
pylab.show()
请注意,for 循环内有一个 for 循环,这会导致图例打印每个标签 5 次。我该如何解决这个问题?
最佳答案
您只需为每个添加自定义标签即可:
for i,curve in enumerate(data):
pylab.plot(xaxis,curve,color=colours[i],marker=markers[i],label=labels[i])
pylab.legend(loc=0)
pylab.show()
这应该给出:
关于python - 如何在 Python 中为 for 循环中的某些数据分配图例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26353587/