如何在 MATLAB 中绘制直方图?

matlabdata analysisprogramming

直方图是一种图形化的数据表示方法,用于显示数据点的频率分布。MATLAB 提供了内置函数"histogram"来绘制数据集的直方图。

什么是 MATLAB 中的直方图?

在 MATLAB 中,直方图是一种表示一组数据点频率分布的图形方法。它显示了数据点在特定区间(称为 bin)内的频率分布。

在直方图中,区间或 bin 用 x 轴表示,数据点的频率用 y 轴表示。在 MATLAB 中,直方图是一种以图形方式表示和分析数据的有效方法。

MATLAB 中有一个名为"histogram"的内置函数,我们可以使用它来绘制数据集的直方图。此函数具有不同的语法格式,可根据需求绘制不同类型的直方图。

现在让我们讨论一下 MATLAB 中"histogram"函数的各种语法格式。

(1). 使用默认属性绘制直方图

在 MATLAB 中,以下"histogram"函数的语法用于绘制具有默认属性的数据集的直方图。

histogram(X);

这里,X 是数据点向量。

以下示例演示如何使用此函数创建直方图。

示例 (1)

% 绘制默认直方图的 MATLAB 代码
% 创建示例数据集
X = randn(5000, 2);

% 绘制数据集的直方图
histogram(X);

输出

(2).绘制指定区间数的直方图

以下"histogram"函数的语法用于绘制指定区间数或间隔数的直方图。

histogram(X, bins);

其中,X 是数据集向量,"bins"指定直方图的间隔数。

以下 MATLAB 代码展示了此函数的实现。

示例 (2)

% MATLAB 代码用于绘制指定区间数的直方图
% 创建示例数据集
X = randn(5000, 2);

% 绘制数据集的直方图
histogram(X, 25);

输出

(3). 绘制指定箱边的直方图

要绘制指定箱边的直方图,请使用以下"histogram"函数语法。

histogram(X, edges);

其中,X 是包含数据集的向量,"edges"是包含箱边的向量。

让我们看一个例子来理解此函数的实现。

示例 (3)

% MATLAB 代码绘制指定箱边的直方图
% 创建示例数据集
X = randn(5000, 2);

% 创建一个包含箱边的向量
edges = [-5 -4 -3 -2 -1 0 1 2 3 4 5];

% 绘制数据集的直方图
histogram(X, edge);

输出

(4). 绘制分类数据的直方图

以下"histogram"函数的语法用于绘制分类数据的直方图。

histogram(C);

此处,C 是分类数据。

示例 (4):

以下示例演示了此函数的实现。

% MATLAB 代码用于绘制分类数据的直方图
% 创建类别样本数组
cat = {'X', 'Y', 'Z', 'X', 'Y', 'X', 'Z'};

% 创建分类数据
C = categorical(cat);

% 绘制分类数据的直方图
histogram(C);

输出

(5). 绘制指定类别的分类数据直方图

"histogram"函数的以下语法用于绘制指定类别的分类数据直方图。

histogram(C, Categories);

让我们看一个基于此函数的示例。

示例 (5)

% MATLAB 代码,用于绘制指定类别的分类数据直方图
% 创建一个类别样本数组
cat = {'X', 'Y', 'Z', 'X', 'Y', 'X', 'Z'};

% 创建分类数据
C = categorical(cat);

% 绘制分类数据的直方图
histogram(C,{'X', 'Y', 'Z', 'A'});

输出

(6). 绘制具有指定类别和预先计算的箱数的分类数据直方图

以下"histogram"函数语法用于绘制具有指定类别和预先计算的箱数的分类数据直方图。

histogram('Categories', Categories, 'BinCounts', counts);

示例 (6)

以下示例演示了此函数的实现。

% MATLAB 程序绘制具有预设类别和 bin 计数的分类直方图
% 创建样本类别
cat = {'X', 'Y', 'Z', 'X', 'Y', 'X', 'Z'};

% 计算每个类别的 bin 计数
counts = [3, 2, 1, 2];

% 绘制直方图
histogram('Categories', {'X', 'Y', 'Z', 'A'}, 'BinCounts', counts);

输出

(7). 绘制具有自定义属性的直方图

以下"histogram"函数的语法用于绘制具有自定义属性的直方图。

histogram(___, Name, Value);

此处,直方图的自定义属性使用"名称-值"对指定。

示例 (7)

让我们看一个例子来了解如何实现此函数。


% MATLAB 程序绘制具有自定义属性的直方图
% 创建示例数据集
X = randn(5000, 2);

% 绘制具有自定义属性的直方图
histogram(X, 'FaceColor', 'blue', 'BinWidth', 0.75);

输出

(8). 绘制指定坐标轴的直方图

以下"histogram"函数的语法用于绘制指定坐标轴的直方图。

histogram(ax, ___);

示例 (8)

以下 MATLAB 示例演示了如何使用此函数绘制直方图。


% MATLAB 代码用于绘制指定坐标轴的直方图
% 创建示例数据集
X = randn(5000, 2);

% 指定子图坐标轴
ax = subplot(1, 1, 1);

% 在子图中绘制直方图
histogram(ax, X);

输出

结论

MATLAB 内置函数"histogram"用于绘制数据集的直方图。在本教程中,我根据不同的数据类型和输出要求解释了"histogram"函数的不同语法格式。


相关文章