如何使图例显示列表中的所有STR值?



我有一个类似

的代码
import matplotlib.pyplot as plt
x_axis=(0,10)
y_axis=(0,10)
label = [1,2,3,4,5,6,7]
print(type(label))
plt.figure()
plt.plot(x_axis,y_axis,color='none')
plt.plot([label])
plt.legend(label)
plt.show()

我使用color = 'none'来清除情节中的线条。但是我想让图例中的所有标签都有颜色,我该怎么做?当标签是一个int列表时,代码将运行,但当我想要创建一个str列表图例时,它不工作(因为plt.plot([label]),得到错误:TypeError: unhashable type: 'numpy. narray ')但如果我删除它,图例只打印第一个值。图片示例

根据定义,第一个标签匹配您绘制的第一行;第二个标签匹配您绘制的第二条线,依此类推。使用"int列表"输出有一个"无"字;标签"1"的彩色线,正如您指定的那样。要获得1的可见(不清晰)行,您必须指定某种颜色——并且它将与第一行匹配。

我建议您再次阅读文档,密切注意各种绘图格式。命名一个变量x_axis不会自动使x轴的极限:它来自plot接口。在本例中,您得到了这条线,因为您指定了从(0,0)到(10,10)绘制一条线。

最新更新