matplotlib 如何混合使用变量和字符串来标记图?

6tr1vspr  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(99)

当我尝试使用变量和字符串的混合来标记单个图(在循环中)时,我遇到了麻烦。
以下是我遇到麻烦的部分:

plt.plot(wlist, elist, label=('ratio =',i)) #using this inside a loop

当我运行它时,它在图例上显示为('ratio =',#),其中#是它所处的任何迭代。我只希望它打印为:

Ratio = #

(The我添加的括号是我得到的输出的一部分)

qvk1mo1f

qvk1mo1f1#

如果不需要圆括号,那么你可以将f-string传递给label参数(如果你以前没有使用过,你可以阅读更多关于f字符串here的内容):

plt.plot(wlist, elist, label=f'ratio ={i}')

这里有一个从this answer借用的快速示例,我们可以根据迭代次数标记一些曲线:

import numpy as np
x = np.linspace(0, 20, 1000)
y_plots = [np.sin(x), np.cos(x)]
for i in range(len(y_plots)):
    plt.plot(x, y_plots[i], label=f"plot {i}")
plt.legend(loc='upper left')
plt.show()

相关问题