gpt4 book ai didi

python - 如何更改 matplotlib 图例框中的名称?

转载 作者:太空宇宙 更新时间:2023-11-03 16:39:42 27 4
gpt4 key购买 nike

我有文件 in.txt,其中有很多行。和 1-20 列(未定义)。并包含数字。

我用这段代码绘制了一个图形

y=np.loadtxt('in.txt')
t=np.arange(len(y))*1
plt.subplot(211)
plt.title(r'in')
plt.grid(1)
plt.plot(t,y, label = 'in')
plt.legend(borderpad = 0.1, labelspacing = 0.1)
plt.show()

It is what I have now (in this example I have 10 columns in file in.txt)

但是,我想要的名称不是图例中的所有名称都是“in”,而是“1”、“2”、“3”等(从 1 到 n,其中 n 是 in 中的列数)。 txt 文件)

最佳答案

实现此目的的一种方法是在 for 循环的迭代中绘制每条线。例如:

y = np.random.random((3,5))  # create fake data
t = np.arange(len(y))
plt.subplot(211)
plt.title(r'in')
plt.grid(1)
for col_indx in range(y.shape[1]):
plt.plot(t, y[:,col_indx], label = col_indx)
plt.legend(borderpad = 0.1, labelspacing = 0.1)
plt.show()

或者,我在您的情况下推荐此解决方案,即使用调用 plt.legend 的可选参数。 。像这样:

plt.plot(t, y)
plt.legend(range((len(y)))

如果您想要更高级一点,请查看 plt.legend 的文档字符串。

如果您想使用从 1 开始的索引而不是从 0 开始标记,请不要忘记在标签和范围中添加 +1 ;-)

关于python - 如何更改 matplotlib 图例框中的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36923271/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com