控制图例中的行数

时间:2015-12-10 21:40:13

标签: matplotlib legend

我目前正在尝试在单个地块上绘制大量数据。我使用重复的颜色和符号构建了我的表示。但是,在绘制最终结果时,图例会略微关闭,因为我无法控制其中的行数。因此,而不是得到5重复绿色,然后5重复红色,5重复蓝色然后2另外,我得到5 -4 -4 -4(我会优先5 - 5 - 5 - 2)

您可以在附加图像中清楚地看到这一点。

Plot with colored legend in wrong format

现在我将这些选项用于图例:

axp.legend(loc="lower right",ncol=4)

1 个答案:

答案 0 :(得分:9)

我也有过几次这个问题,并通过在图例中添加虚拟项目以填充最后一列来使用此解决方法,如果有更多优雅方法可用,我也会非常有兴趣了解它们。

import numpy as np
import matplotlib.pylab as pl

pl.figure()

pl.plot(np.arange(10), np.random.random([10,5]), color='r', label='red')
pl.plot(np.arange(10), np.random.random([10,5]), color='g', label='green')
pl.plot(np.arange(10), np.random.random([10,5]), color='b', label='blue')
pl.plot(np.arange(10), np.random.random([10,2]), color='k', label='black')

# Add empty dummy legend items
pl.plot(np.zeros(1), np.zeros([1,3]), color='w', alpha=0, label=' ')

pl.legend(ncol=4)

enter image description here