如何创建以特定范围开始和结束的条形图

时间:2016-07-06 11:03:05

标签: matplotlib

我创建了一个计算机模型(只是为了好玩)来预测足球比赛结果。我运行了计算机模拟来预测团队将获得多少积分。我得到了每个团队的模拟结果列表。

我想绘制一些像置信区间,但使用条形图。

我考虑了以下选项:

  • 我考虑过使用matplotlib的烛台,但这不是外汇价格。
  • 我也考虑使用matplotlib的错误栏,特别是因为事实证明我可以使用图形栏+错误栏,但它并不是我的目标。我实际上的目标是像Nate Silver的538选举预测结果。

enter image description here

Nate Silver太复杂了,他对分布进行着色并改变了百分比的大小。我只想要一个简单的条形图,绘制一定的范围。

我不想采用如here

所示的情节栏堆叠

1 个答案:

答案 0 :(得分:2)

Matplotlib的barh(或bar)可能适用于此:

import numpy as np
import matplotlib.pylab as pl

x_mean = np.array([1,   3, 6  ])
x_std  = np.array([0.3, 1, 0.7])
y      = np.array([0,   1,  2 ])

pl.figure()
pl.barh(y, width=2*x_std, left=x_mean-x_std)

条形的水平宽度为2*x_std,从x_mean-x_std开始,因此中心表示平均值。

它不是很漂亮(还),但高度可定制:

enter image description here