python统计分析——直方图(plt.hist)

使用matplotlib.pyplot.hist()函数绘制直方图

python 复制代码
from matplotlib.pyplot as plt

data_set=np.array([2,3,3,4,4,4,4,5,5,6])
plt.hist(fish_data)

下面介绍plt.hist()函数中常用的几个重要参数(参数等号后为默认设置):

复制代码
(1)x,表示一组数据,即需要制作直方图的一组数据。
(2)bins=None,表示数据桶的数目,即直方图呈现出的数据组数。
    当bins为一个整数时,表示需要分组的数目,具体如何确定分组数量,可以参考:excel统计分析------正态性检验(直方图)_正态性检验 excel-CSDN博客
复制代码
    当bins为一个数据序列时,表示用于分组的临界值。举例说明:当bins=[1,2,3,4]时,用于分组的区间为:[1,2)、[2,3)、[3,4]。
复制代码
    当bins为文本时,表示作图时的分组策略,可用选项具体有:'auto', 'fd', 'doane','scott', 'stone', 'rice', 'sturges', 'sqrt'。下图为“rice”分组策略为例,其余的可以自行尝试。
复制代码
(3)range=None,表示参与制作直方图的数据的上下限,None表示所有数据。如果需要设置上下限,数据需要用元组格式即(min,max)。小于下限值的数据和大于上限值的数据在作图时将被剔除。如下图,设置上下限为3和5,则数据2和数据6则被剔除。
复制代码
(4)density=False, 表示直方图显示的数据是频数还是频率。默认为频数,若设置density=True,则表示为频率。下图显示的频率(注意对比纵坐标轴的变化)。
复制代码
(5)weights=None, 表示对数据设置权重,要求权重的序列与数据源x的序列大小一致。下图是将数值6的权重设置为10的效果。
复制代码
(6)cumulative=False, 如果设置为True表示直方图为累计统计数据。显示如下:
复制代码
(7)bottom=None, 如果bottom为一个整数,表示直方图的绘图基线此数值,统一在此数值上进行累加,默认此数值为0。如果设置为序列,则各数据桶按照各自的绘制基线进行累加。
    下图表示,第一组数据的基线为2,其他组数据的基线为0,效果如下:
复制代码
(8)histtype='bar', 表示直方图的展现形式,有4个备选项:'bar', 'barstacked', 'step', 'stepfilled'。下图为设置"step"类型,其余类型自行测试。
复制代码
(9)align='mid', 默认为‘mid’表示数据桶显示的位置以组中值为中心;若为left,表示数据桶显示的位置以组的下限值为中心;若为right,数据桶显示的位置以组的上限为中心。这里不再演示。
(10)orientation='vertical', 默认是垂直方向作图,当设置为horizontal时,为水平分布作图。
复制代码
(11)rwidth=None, 设置各组的相对宽度。下图表示第一组数据为正常宽度,其他组数据为正常宽度的80%。
复制代码
(12)log=False, 表示是否需要对数据进行对数转换。
(13)color=None, 设置的数据桶的颜色。
相关推荐
q567315239 分钟前
在 Bash 中获取 Python 模块变量列
开发语言·python·bash
是萝卜干呀10 分钟前
Backend - Python 爬取网页数据并保存在Excel文件中
python·excel·table·xlwt·爬取网页数据
代码欢乐豆11 分钟前
数据采集之selenium模拟登录
python·selenium·测试工具
许野平34 分钟前
Rust: 利用 chrono 库实现日期和字符串互相转换
开发语言·后端·rust·字符串·转换·日期·chrono
也无晴也无风雨38 分钟前
在JS中, 0 == [0] 吗
开发语言·javascript
狂奔solar1 小时前
yelp数据集上识别潜在的热门商家
开发语言·python
Tassel_YUE1 小时前
网络自动化04:python实现ACL匹配信息(主机与主机信息)
网络·python·自动化
聪明的墨菲特i1 小时前
Python爬虫学习
爬虫·python·学习
blammmp1 小时前
Java:数据结构-枚举
java·开发语言·数据结构
何曾参静谧2 小时前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++