我目前正在尝试在单个地块上绘制大量数据。我使用重复的颜色和符号构建了我的表示。但是,在绘制最终结果时,图例会略微关闭,因为我无法控制其中的行数。因此,而不是得到5重复绿色,然后5重复红色,5重复蓝色然后2另外,我得到5 -4 -4 -4(我会优先5 - 5 - 5 - 2)
您可以在附加图像中清楚地看到这一点。
现在我将这些选项用于图例:
axp.legend(loc="lower right",ncol=4)
答案 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)