matlab bin函数_MATLAB画图技巧与实例(六):直方图histogram和histogram2函数

97ac9f9ddbfc608b44ac22e784c6bf38.png

MATLAB中所有的线图已经讲完了,从本文开始,将花几篇文章陆续讲述MATLAB的数据分布图

数据分布图包含三种类型图,即

  • 直方图和箱线图。包括:histogram、histogram2、morebins、fewerbins、histcounts、histcounts2、boxchart函数;
  • 散点图和平行坐标。包括:scatter、scatter3、binscatter、scatterhistogram、spy、plotmatrix、parallelplot函数;
  • 饼图、热图和文字云。包括:pie、pie3、heatmap、sortx、sorty、wordcloud函数。

在科研遇到统计数据时,这几类图用得非常广泛,在顶刊Nature和Science中经常看到。毕竟,好的统计结果以及好的可视化能让文章质量增加很多。

本文将从直方图开始,讲述histogram和histogram2函数的用法和示例。morebins、fewerbins、histcounts、histcounts2这几个函数并没有画图功能,而是histogram函数的辅助,用于设定或者求解某些值,也将在本文一并讲解。

注意、注意、注意,histogram用的非常多,具备数据分组和画图功能,非常强大。科研非常常见,用法也比较复杂,此文内容较为重要。

另外,需要区别histogram函数bar函数。histogram函数是直方图,注重于统计,而bar是条形图,在图形方面设置更多。某些情况,两者可以一致。

1 histogram函数

1.1 用法

histogram(X)
histogram(X,nbins)
histogram(X,edges)
histogram('BinEdges',edges,'BinCounts',counts)
histogram(C)
histogram(C,Categories)
histogram('Categories',Categories,'BinCounts',counts)
histogram(___,Name,Value)
histogram(ax,___)
h = histogram(___)
histogram(X) 基于 X 创建直方图。histogram 函数使用自动 bin 划分算法,然后返回均匀宽度的 bin,这些 bin 可涵盖 X 中的元素范围并显示分布的基本形状。histogram 将 bin 显示为矩形,这样每个矩形的高度就表示 bin 中的元素数量。例如,histogram(X,nbins) 使用标量 nbins 指定的 bin 数量。histogram(X,edges) 将 X 划分到由向量 edges 来指定 bin 边界的 bin 内。每个 bin 都包含左边界,但不包含右边界,除了同时包含两个边界的最后一个 bin 外。
histogram('BinEdges',edges,'BinCounts',counts) 手动指定 bin 边界和关联的 bin 计数。histogram 绘制指定的 bin 计数,而不执行任何数据的 bin 划分。例如,histogram(C)(其中 C 为分类数组)通过为 C 中的每个类别绘制一个条形来绘制直方图。
histogram(C,Categories) 仅绘制 Categories 指定的类别的子集。
histogram('Categories',Categories,'BinCounts',counts) 手动指定类别和关联的 bin 计数。histogram 绘制指定的 bin 计数,而不执行任何数据的 bin 划分。例如,histogram(___,Name,Value) 使用前面的任何语法指定具有一个或多个 Name,Value 对组参数的其他选项。例如,可以指定 'BinWidth' 和一个标量以调整 bin 的宽度,或指定 'Normalization' 和一个有效选项('count'、 'probability'、 'countdensity'、 'pdf'、 'cumcount' 或 'cdf' )以使用不同类型的归一化。有关属性列表,请参阅 Histogram 属性。
histogram(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。选项 ax 可以位于前面的语法中的任何输入参数组合之前。例如,h = histogram(___) 返回 Histogram 对象。使用此语法可检查并调整直方图的属性。有关属性列表,请参阅 Histogram 属性。 [1]

接下来请看具体示例。

1.2 示例1

clc
clear all
close all
a = randn(10000,1);
subplot(1,2,1)
h1 = histogram(a);
subplot(1,2,2)
h2 = histogram(a,20);

  • 11
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值