gpt4 book ai didi

python - 具有多个 y 轴的误差条图会产生 ValueError

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:59 25 4
gpt4 key购买 nike

我正在尝试使用 here 中的多个轴图作为模板,创建一个具有多个 y 轴的误差条图。 。如果我只更改模板的这一行:

p1, = host.plot([0, 1, 2], [0, 1, 2], "b-", label="密度")

对此:

p1, = host.errorbar([0, 1, 2], [0, 1, 2], yerr=[0.5, 0.5, 0.5], fmt='b-', label="密度”)

我得到的输出:

  1. 具有多个 y 轴但仅显示 p1 数据的误差条图。
  2. “ValueError:需要解压的值太多”。

有人能帮忙解释一下为什么会出现这种情况吗?提前致谢。

最佳答案

errorbarplot 返回不同的东西。 plot 返回行列表,但在本例中,代码假设仅返回一行,因此 p1、 等将其从列表。

errorbar 相反返回一个 Container 对象,并且该容器包含多行。您不能使用 p1, 作为 errorbar 的返回值。相反,您需要以不同的方式处理它。

p1 在代码中用于两个不同的目的:设置颜色和设置标签。事实证明,get_label 是 Container 的一个方法。 get_color 不是,但它是容器子级的方法,并且应该是相同的颜色。因此,更改代码以将容器分配给 p1,并使用其子级之一的颜色。例如:

p1 = host.errorbar([0, 1, 2], [0, 1, 2], yerr=[0.5, 0.5, 0.5], 
fmt='b-', label="Density")

然后:

host.yaxis.label.set_color(p1.get_children()[0].get_color())

host.tick_params(axis='y', colors=p1.get_children()[0].get_color(), **tkw)

图例设置代码根本不需要更改。

关于python - 具有多个 y 轴的误差条图会产生 ValueError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30089868/

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