Python-使用不均匀错误(高和低)绘制错误条形图

时间:2018-11-04 06:15:13

标签: python matplotlib errorbar

我是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 个答案:

答案 0 :(得分:2)

您可以在matplotlib条形图的yerr arg中的元组中放置上下限误差。

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))

答案 1 :(得分:0)

在我看来你可以做

  1. 使用lolimsuplims参数(see here)分别绘制上限和下限
  2. y参数传递给errorbar,以使上下误差相等,即在您的情况下,y = (temps_high+temps_low)/2,这种方式只使用temp_avg来绘制线,而不是误差。 / li>