在 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()
请看下面的代码。
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()