我正在 pyplot 中绘制一个大数据集和一些回归。数据根据附加值着色。我决定将图例中的列数设置为 2。
数据点看起来不错,但对于回归,我想回到 ncols=1。有可能在一个图例中做到这一点吗?
(我知道,我可以宣布两个传奇,但我想避免这种情况......)
matplotlib中的Legend是OffsetBox的集合。
原则上,您可以通过手动重新排列这些偏移框来更改图例中的“ncol”。
当然,这需要一些 matplotlib 内部知识,对于普通用户来说会很困难。不确定揭露这一点的最佳方式是什么。下面是一段简单的代码,它创建两个图例并将它们合并为一个。
import matplotlib.pyplot as plt
import matplotlib.legend as mlegend
ax = plt.subplot(111)
l1, = ax.plot([1,2,3])
leg1 = ax.legend([l1], ["long lable"], ncol=1)
leg2 = mlegend.Legend(ax, [l1, l1, l1, l1], tuple("1234"), ncol=2)
leg1._legend_box._children.append(leg2._legend_box._children[1])
leg1._legend_box.align="left" # the default layout is 'center'
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)