2

当我绘制以下内容时:

plt.plot([0,1],[0,1],'g',label='Solid')
plt.plot([0,1],[.5,1],'b',label='Solid')
plt.plot([0,1],[1,0],'g--',label='Dashed')
plt.plot([0,1],[.5,0],'b--',label='Dashed')
plt.legend()

我得到这张图片:

在此处输入图像描述

对我来说,这是太多的传说文本。有谁知道,我怎样才能加入蓝色和绿色实线和蓝色和绿色虚线,以将图例减少为两个带有绿色/蓝色(最好是在另一个顶部)线和相应文本的条目?谢谢你的帮助

4

2 回答 2

2

查看 的可能签名legend(),即legend(handles, labels)

Legend Tutorial中也有很好的描述。

line1,  = plt.plot([0,1],[0,1],'g',label='Solid')
line2,  = plt.plot([0,1],[.5,1],'b',label='Solid')
plt.plot([0,1],[1,0],'g--',label='Dashed')
plt.plot([0,1],[.5,0],'b--',label='Dashed')
plt.legend((line1, line2), ('green', 'blue'))
plt.show()

输出图像

于 2019-11-02T16:52:15.980 回答
1

作为替代方案,请查看这篇文章中的解决方案: Single legend item with two lines

虽然有点复杂

于 2019-11-02T17:00:49.817 回答