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, 设置的数据桶的颜色。
相关推荐
anlogic6 小时前
Java基础 8.18
java·开发语言
喂完待续6 小时前
【Tech Arch】Spark为何成为大数据引擎之王
大数据·hadoop·python·数据分析·spark·apache·mapreduce
沐知全栈开发6 小时前
WebForms XML 文件详解
开发语言
阿巴~阿巴~7 小时前
冒泡排序算法
c语言·开发语言·算法·排序算法
王者鳜錸7 小时前
PYTHON让繁琐的工作自动化-猜数字游戏
python·游戏·自动化
看到我,请让我去学习8 小时前
QT - QT开发进阶合集
开发语言·qt
若天明8 小时前
深度学习-计算机视觉-微调 Fine-tune
人工智能·python·深度学习·机器学习·计算机视觉·ai·cnn
weixin_307779138 小时前
VS Code配置MinGW64编译SQLite3库
开发语言·数据库·c++·vscode·算法
倔强青铜三9 小时前
苦练Python第39天:海象操作符 := 的入门、实战与避坑指南
人工智能·python·面试
励志不掉头发的内向程序员9 小时前
STL库——string(类函数学习)
开发语言·c++