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, 设置的数据桶的颜色。
相关推荐
毕设源码-朱学姐18 分钟前
【开题答辩全过程】以 基于Java的失物招领系统设计与实现为例,包含答辩的问题和答案
java·开发语言
Gomiko21 分钟前
JavaScript进阶(四):DOM监听
开发语言·javascript·ecmascript
清晓粼溪23 分钟前
统一异常处理
java·开发语言
Fiona-Dong26 分钟前
Louvain 算法
python·算法
坐吃山猪40 分钟前
BrowserUse14-源码-ScreenShot模块-整理
linux·数据库·python
syt_10131 小时前
grid布局之-子项放置4
开发语言·javascript·ecmascript
喵了meme1 小时前
C语言实战2
c语言·开发语言·网络
charlie1145141911 小时前
现代C++工程实践:简单的IniParser3——改进我们的split
开发语言·c++·笔记·学习
fish_xk1 小时前
c++的引用和类的初见
开发语言·c++
独行soc1 小时前
2025年渗透测试面试题总结-280(题目+回答)
网络·python·安全·web安全·网络安全·渗透测试·安全狮