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, 设置的数据桶的颜色。
相关推荐
我是华为OD~HR~栗栗呀6 分钟前
华为od-22届考研-测试面经
java·c++·python·功能测试·华为od·华为·面试
学习路上_write33 分钟前
神经网络初次学习收获
人工智能·python
沐知全栈开发1 小时前
Java 文档注释
开发语言
大邳草民1 小时前
Django 的动态特性:从 Python 动态机制到框架设计思想
笔记·python·django
程序_白白1 小时前
探讨一下java将来未来两年内的就业以及发展
java·开发语言
哼?~1 小时前
C++之智能指针
开发语言·c++
用户3721574261351 小时前
Python 裁剪 PDF 教程:轻松裁剪页面并导出为图片
python
mjhcsp1 小时前
C++ long long 类型深度解析:大整数处理的基石
开发语言·c++·策略模式·long long
YuanlongWang2 小时前
C# 设计模式——工厂模式
开发语言·设计模式·c#
mit6.8242 小时前
[Agent可视化] docs | go/rust/py混构 | Temporal编排 | WASI沙箱
python