python画hist直方图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python画hist直方图相关的知识,希望对你有一定的参考价值。

参考技术A

简单说下图形选择啦,通常我们最常用的图形是折线图、扇形图、条形图,它们的功能简单概括为:
折线图:表示变化情况;
扇形图:表示各类别的分布占比情况;
条形图:表示具体数值;

接下来要说的直方图是以条形图的形式展现的,在统计学中, 直方图 (英语:Histogram)是一种对数据分布情况的图形表示。

以下展示了python画直方图的几种方式,这里涉及到了3个包:matplotlib、pandas、seanborn。
1、使用 matplotlib.pyplot.hist 函数(本文主要讲解该方法画直方图)

2、使用 pandas.DataFrame.plot.hist 函数

3、使用 pandas.DataFrame.hist 函数

4、使用 seaborn.distplot 函数

以下为 matplotlib.pyplot.hist 函数介绍:

参数:

返回值:

模拟真实场景:我们通过分析打分,给1000个客户进行了排名,排名越靠前,说明客户越优异,为了找到特定的200个客户的排名处于这1000个客户中的位置,使用了直方图对比的方式。以下使用的数据是为模拟场景,随机出来的结果排名比较靠后,所以这些客户质量并不高:

hist: https://my.oschina.net/u/2474629/blog/1793008
matplotlib中文乱码: https://www.jianshu.com/p/c0f19f87036f

Python-matplotlib 画直方图hist

首先要理清楚一个概念,直方图与条形图。
直方图与条形图的区别:
条形图是用条形的长度表示各类别频数的多少,其宽度(表示类别)则是固定的;
直方图是用面积表示各组频数的多少,矩形的高度表示每一组的频数或频率,宽度则表示各组的组距,因此其高度与宽度均有意义。
由于分组数据具有连续性,直方图的各矩形通常是连续排列,而条形图则是分开排列。
条形图主要用于展示分类数据,而直方图则主要用于展示数据型数据。

示例代码:
[python] view plain copy
#概率分布直方图
#高斯分布
#均值为0
mean = 0
#标准差为1,反应数据集中还是分散的值
sigma = 1
x=mean+sigma*np.random.randn(10000)
fig,(ax0,ax1) = plt.subplots(nrows=2,figsize=(9,6))
#第二个参数是柱子宽一些还是窄一些,越大越窄越密
ax0.hist(x,40,normed=1,histtype=‘bar‘,facecolor=‘yellowgreen‘,alpha=0.75)
##pdf概率分布图,一万个数落在某个区间内的数有多少个
ax0.set_title(‘pdf‘)
ax1.hist(x,20,normed=1,histtype=‘bar‘,facecolor=‘pink‘,alpha=0.75,cumulative=True,rwidth=0.8)
#cdf累计概率函数,cumulative累计。比如需要统计小于5的数的概率
ax1.set_title("cdf")
fig.subplots_adjust(hspace=0.4)
plt.show()

以上是关于python画hist直方图的主要内容,如果未能解决你的问题,请参考以下文章

Matplotlib(3直方图) - plt.hist()参数解释&应用实例

Matplotlib(3直方图) - plt.hist()参数解释&应用实例

MATLAB画直方图并在每条柱标上数值

r语言如何将直方图x轴的组距

python matplotlib画的直方图怎么加两条竖线做参考线

r语言直方图变成线条