MATLAB histogram2():创建二元直方图(附带实例)
二元直方图是一种数值数据条形图,它将数据分组到二维 bin 中。在 MATLAB 中,利用函数 histogram2() 可以创建二元直方图,其调用格式如下:
【实例】绘制二元直方图。在编辑器中编写以下程序并运行:

图 1 二元直方图
histogram2(X,Y) % 使用自动分 bin 算法创建 X 和 Y 的二元直方图,返回均匀面积的 bin % 将 bin 显示为三维矩形条形,每个条形的高度表示 bin 中元素的数量 histogram2(X,Y,nbins) % 指定在直方图的每个维度中使用的 bin 的数量 histogram2(X,Y,Xedges,Yedges) % 使用向量 Xedges 和 Yedges 指定各维中 bin 的边界 histogram2('XBinEdges',Xedges,'YBinEdges',Yedges,'BinCounts',counts) % 手动指定 bin 计数
【实例】绘制二元直方图。在编辑器中编写以下程序并运行:
subplot(2,2,1) x = randn(10000,1); y = randn(10000,1); h = histogram2(x,y); % 创建二元直方图 nXnY = h.NumBins; % 计算每个维度的直方图 bin 数量,输出略 counts = h.Values; % 生成的 bin 计数,输出略 subplot(2,2,2) h = histogram2(x,y,[12 12],'FaceColor','flat'); % 每个维度 12 个 bin,若 FaceColor 为 'flat',则按高度对直方图条形着色 % colorbar subplot(2,2,3) % 块状直方图 x2 = 2*x + 2; y2 = 5*y + 3; h = histogram2(x2,y2,'DisplayStyle','tile',... 'ShowEmptyBins','on'); % 将 ShowEmptyBins 指定为 'on',显示空 bin subplot(2,2,4) h = histogram2(x,y); h.FaceColor = 'flat'; % 按高度对直方图条形着色 h.NumBins = [10 25]; % 更改每个方向的 bin 数量运行程序后,输出如下图所示图形:

图 1 二元直方图