在 pyplot 图例中插入 %d 不起作用

inserting %d in pyplot legend does not work

请看下面的代码。

import matplotlib.pyplot as plt

title = 25
plt.title('title is %d' % (title))

L = 15
plt.legend('L = %d' % L) 

标题按预期再现了数字。然而,图例只留下一个空白 space 数字应该在哪里。

当调用plt.legend时,你必须传入一个字符串序列,比如一个字符串列表。

只传递一个字符串的问题是它将字符串视为一个序列(它是)并且只从中取出第一个元素,在这种情况下恰好是字母 L.

请注意,与其将字符串传递给 plt.legend(),更典型的做法是在调用 plt.plot 时使用关键字参数 label = my_string,这样它看起来像 plt.plot(x, y, label='L = %d' % L) .

import matplotlib.pyplot as plt

title = 25
plt.title('title is %d' % (title))

plt.plot([1,2,3])

L = 15
plt.legend(['L = %d' % L])

plt.show()