当我绘制以下内容时:
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()
我得到这张图片:
对我来说,这是太多的图例文字。有谁知道,我如何才能将蓝色和绿色的实线以及蓝色和绿色的虚线连接起来,以将图例减少为两个具有绿色/蓝色(最好是一个在另一个顶部)和相应文本的条目? 谢谢您的帮助
答案 0 :(得分: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()
答案 1 :(得分:1)
作为替代方案,请看一下这篇文章中的解决方案: Single legend item with two lines
虽然有点复杂