Matplotlib& Seaborn:传奇太长了线条样式

时间:2017-08-29 02:29:31

标签: python matplotlib seaborn

我在'-', '--', '-.'

中制作了不同风格的情节
x=arange(1,9)
gmm_rsquare = [0.90,0.962,0.954,0.908,0.975,0.941,0.905,0.916,]
al_rsquare=[0.85,0.742,0.819,0.884,0.901,0.868,0.793,0.727]
emp_rsquare = [0.908,0.948,0.937,0.920,0.967,0.948,0.945,]
plot(x, gmm_rsquare, label='GMM')
plot(x, al_rsquare, '--', label='AL')
plot(x[:-1], emp_rsquare, '-.', label='Emp')
plt.axis([1,8,0.7,1])
plt.legend()

enter image description here

-.的图例不是很好,因为在-.之后会有一个额外的短划线。

对于seaborn来说问题也是如此,甚至更糟糕

enter image description here

由于图例长度不合适,--变为--.-.变为-..

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

plt.legend有一个参数

  

handlelength:浮动或无   图例处理的长度。以字体大小单位测量。默认值为None,它将从legend.handlelength rcParam中获取值。

因此你可以设置

plt.legend(handlelength=1.44)

enter image description here

选择不同的字体大小可能还需要您选择不同的handlelength