Matplotlib pyplot:更改图例中的NCOL
我正在用pyplot绘制一个大数据集和一些回归。数据根据附加值着色。我决定将图例中的列数设置为2 数据点看起来不错,但对于回归,我想回到ncols=1。是否可以在一个图例中执行此操作Matplotlib pyplot:更改图例中的NCOL,matplotlib,multiple-columns,legend-properties,Matplotlib,Multiple Columns,Legend Properties,我正在用pyplot绘制一个大数据集和一些回归。数据根据附加值着色。我决定将图例中的列数设置为2 数据点看起来不错,但对于回归,我想回到ncols=1。是否可以在一个图例中执行此操作 (我知道,我可以声明两个图例,但我希望避免这种情况…matplotlib中的图例是OffsetBox的集合。 原则上,您可以通过手动重新排列这些偏移框来更改图例中的“ncol”。 当然,这需要一些matplotlib内部的知识,对于普通用户来说是很困难的。不知道什么是最好的方式来揭露这一点。下面是创建两个图例并将它
(我知道,我可以声明两个图例,但我希望避免这种情况…matplotlib中的图例是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()
我不知道你在问什么。你想要的图例是第2部分的列,第1部分的列?完全正确。有些标签很短,即只有一个数字,有些则长得多。90%的人确信这不能用一个传奇来完成。好吧,我将尝试设置两个看起来像一个传奇的传奇。仍然需要弄清楚,发邮件给mpl邮件列表是否值得,核心开发人员(谁能肯定地回答这个问题)不这么看。太好了,这与我的想法非常接近。谢谢。