gpt4 book ai didi

matplotlib - pyplot : change ncols within a legend

转载 作者:行者123 更新时间:2023-12-01 11:42:46 25 4
gpt4 key购买 nike

我正在绘制一个大型数据集和 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()

关于matplotlib - pyplot : change ncols within a legend,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17909251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com