Python - 绘制具有不均匀误差(高和低)的误差条形图

3

我是 Stack Overflow 的新手,如果这个问题已经有人问过或者表述不够清晰请多包涵 - 我也是 Python 和编码的新手。

我想创建一个误差条图,其中高和低的“误差限”是不相等的。

我将绘制一个月的平均温度,上限误差需要是该月的最高温度,下限误差需要是该月的最低温度。

我知道如何使用误差线,仅当误差相等时才能使用,但不知道如何使它们不相等。

附加了一张图片供参考。我将使用以下列表的简化示例进行绘图:

temps_avg = [46, 49, 58, 69, 73, 79, 84]
temps_high = [78, 80, 82, 88, 88, 93, 101]
temps_low = [21, 29, 25, 48, 54, 62, 70]

我想复制的柱状图,但是不需要误差线:

Bar Chart I'd Like to Duplicate but without Even Error Bars

2个回答

5

你可以将低误差和高误差限制放在 matplotlib 的柱状图中的 yerr 参数的元组中:

import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.bar([0,1,2,3,4,5,6], temps_avg, yerr = (temps_low,temps_high))

0

看起来你可以采用以下任意一种方法:

  1. 使用 lolims, uplims 参数分别绘制上限和下限 (参见这里)
  2. y 参数传递给 errorbar,使得上下误差相等,即在你的情况下 y = (temps_high+temps_low)/2,这样就只用 temp_avg 绘制线条而不是误差。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接