如何在python中绘制带有各种变量的直方图?

时间:2019-04-17 18:08:08

标签: python matplotlib plot histogram

我有一个场景,我有一个数据集,其中包含自2018年以来印度每支球队出战的印度ODI比赛总数。如果印度在与南非的6场比赛中赢得5场比赛,那么'Ind1'变量的值为5,SA =1。同样,我存储了与所有其他球队进行的比赛的变量。现在,我想一起绘制Ind1和SA的值,以及一起绘制Ind2和Eng的值。

任何人都可以帮助我使用直方图或python中的任何其他绘图技术来绘图吗!

plt.hist(Ind1, Sa, bins = 20, alpha = 0.5, c = 'blue')

预期结果是绘制两个小节以及前两个小节的变量“ Ind1”和“ SA”,然后绘制两个小节以及变量“ Ind2”和“ Eng”,依此类推。我希望所有的条形都在一个图中,也要在一起。

但是我收到如下错误;

TypeError:hist()为参数“ bins”获得了多个值

2 个答案:

答案 0 :(得分:0)

根据documentationmatplotlib.pyplot.hist()的签名为:

  

matplotlib.pyplot.hist(x,bins = None,range = None,density = None,权重= None,累积= False,bottom = None,histt​​ype ='bar',align ='mid',direction ='垂直”,rwidth = None,log = False,color = None,label = None,stacked = False,normed = None,*,data = None,** kwargs)

因此,您正在为bins传递两个值:Sa(第二个位置参数)和20(关键字参数)。我对pyplot不太熟悉,但似乎您打算这样做:

plt.hist((Ind1, Sa), bins = 20, alpha = 0.5, c = 'blue')

答案 1 :(得分:0)

您必须将系列作为第一个参数传递到某种类型的容器(元组,列表等)中。您必须为每个系列指定颜色或使用默认值。

import numpy as np
import matplotlib.pyplot as plt

Ind1 = np.random.randn(1000)
Sa = np.random.randn(1000)

plt.hist([Ind1, Sa], bins = 20, alpha = 0.5)
plt.show()

enter image description here