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

Rea*_*deo 2 matplotlib

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

我想绘制置信区间之类的东西,但使用条形图。

我考虑了以下选项:

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

在此处输入图片说明

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

我不想像这里显示的那样使用绘图条堆叠

Bar*_*art 5

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)
Run Code Online (Sandbox Code Playgroud)

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

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

在此处输入图片说明