图例仅显示图中的一部分曲线

时间:2018-09-25 15:14:10

标签: python matplotlib

我需要执行以下针对MATLAB的解释: How to show legend for only a specific subset of curves in the plotting?

但是使用Python代替MATLAB。

我的目标的简要概述:例如,以下列方式绘制三个曲线

from matplotlib import pyplot as plt
a=[1,2,3]
b=[4,5,6]
c=[7,8,9]
# these are the curves
plt.plot(a)
plt.plot(b)
plt.plot(c)
plt.legend(['a','nothing','c'])
plt.show()

我希望没有任何东西,而不是“没什么”。

1 个答案:

答案 0 :(得分:2)

使用'_'将按以下方式隐藏特定条目的图例(继续阅读以将下划线_作为图例来处理)。此解决方案的灵感来自@ImportanceOfBeingEarnest here的最新帖子。

plt.legend(['a','_','c'])

我也避免使用您现在放置图例的方式,因为这样,您必须确保,使绘图命令与图例的顺序相同。而是将label放在相应的plot命令中,以避免出现错误。

话虽如此,最直接,最简单的解决方案(在我看来)是执行以下操作

plt.plot(a, label='a')
plt.plot(b)
plt.plot(c, label='c')
plt.legend()

enter image description here

正如@Lucas在评论中指出的那样,如果要显示下划线_作为图b的标签,您将如何做。您可以使用

plt.legend(['a','$\_$','c'])

enter image description here