hist3 matlab
时间: 2023-11-02 10:00:30 浏览: 444
hist3是Matlab中的一个函数,用于绘制二维直方图。它可以将一个二维数据按区间数分割,然后计算每个方形区间内的样本数,从而得到二维数据的频数统计结果。具体来说,该函数将数据分成多个区间,然后统计每个区间内有多少个样本,最后以矩阵的形式输出这些统计结果。
你可以使用以下代码来使用hist3函数绘制密度图:
```
X = [DI, Er]; % DI和Er是两个列向量,代表二维数据的两个维度
N = hist3(X, 'CdataMode', 'auto', 'Ctrs', {0:0.005:3, 0:0.005:1.4});
N = flipud(N'); % 转置矩阵使得横纵轴与我们熟悉的xy方向对应一致
N(N == 0) = nan; % 将零值设为nan是为了将个数为零的格子涂为白色
h = imagesc(N);
set(h, 'alphadata', ~isnan(N)); % 将nan值涂为白色,否则显示为背景色(蓝色)
% 以下是一些作图美观设置,可根据需要进行调整
hco = colorbar;
set(get(hco, 'label'), 'string', 'Counts', 'FontSize', 18, 'Fontname', 'Arial');
caxis([0, 1000]);
ax = gca;
ax.XTickLabel = {'0', '0.5', '1', '1.5', '2', '2.5', '3'};
ax.YTick = [0, 40, 80, 120, 160, 200, 240, 280];
ax.YTickLabel = {'1.4', '1.2', '1', '0.8', '0.6', '0.4', '0.2', '0'};
set(gca, 'FontSize', 15, 'Fontname', 'Arial');
ylabel('DI', 'FontSize', 18, 'Fontname', 'Arial');
xlabel('Er', 'FontSize', 18, 'Fontname', 'Arial');
```
阅读全文