Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “如何删除多余字符串”;Line2D";在matplotlib图例中_Python_Matplotlib - Fatal编程技术网

Python “如何删除多余字符串”;Line2D";在matplotlib图例中

Python “如何删除多余字符串”;Line2D";在matplotlib图例中,python,matplotlib,Python,Matplotlib,我在matplotlib图例的开头追加了一个字符串“Line2D”。如何摆脱它?重现此问题的简单python脚本如下所示: import numpy as np import matplotlib.pylab as plt x=np.linspace(0,1,20) y=np.sin(2*x) z=np.cos(2*x) p1, = plt.plot(x,y, label='sin(x)') p2, = plt.plot(x,z, label='cos(x)') plt.legend([p1

我在matplotlib图例的开头追加了一个字符串“Line2D”。如何摆脱它?重现此问题的简单python脚本如下所示:

import numpy as np
import matplotlib.pylab as plt

x=np.linspace(0,1,20)
y=np.sin(2*x)
z=np.cos(2*x)

p1, = plt.plot(x,y, label='sin(x)')
p2, = plt.plot(x,z, label='cos(x)')
plt.legend([p1, p2])
plt.show()
我得到了一个图,其中我想去掉图例中多余的字符串“Line2D”。我没有足够的声誉来发布图片。如果有必要的话,我是在用蟒蛇。
谢谢你的帮助

如果只将一个列表传递给
图例
,则必须是要显示的标签,而不是要显示其标签的对象。它正在将这些线对象转换为字符串,这将给出
Line2D(…)


由于在创建线条标签时已为其提供了标签,因此无需将任何内容传递给
legend
。只需
plt.legend()
将自动使用您提供的标签。

您可以使用
plt.legend(句柄=[p1,p2])

我需要15名代表投票。多伤心啊(有人能帮我吗?@CorruptedStack:你仍然可以通过点击投票按钮附近的复选标记来接受答案。(这也会为你自己赢得代表票。)有趣的是,我不得不等6分钟!