我有一个20x65536矩阵M
填充了范围[0,14]的整数。
对于M
的每一列,我想创建一个包含14个bin的直方图。总的来说,我会有65536个直方图。
之后,我想将所有这些直方图组合成一个类似3d的直方图,x轴为15个bin,y轴为65536个直方图索引,z轴为出现的数量。相应的箱子。
答案 0 :(得分:3)
试试这个:
surf(histc(M, 0:14, 2))
答案 1 :(得分:1)
这应该可以满足您的需求:
% compute histograms
bins = 0 : 14;
count = hist(M, bins);
% plot as three-dimensional bar plot
bar3(bins, count)
然而,对于具有65536列的矩阵执行此操作并不是一个好主意,因为正常的计算机屏幕可以水平显示大约2000个像素。以下是25列矩阵的样子:
要使轴更好地适合bin值,请使用
ylim([-1 15])
答案 2 :(得分:0)
使用imagesc获取彩色图像,其中每个(x,y)的颜色是该直方图的bin中的计数数。
Mnew = histc(M,0:14,1);
imagesc(Mnew)
set(gca,'YDir','normal')
最后一行只是为了修复imagesc的细微差别,它会翻转y轴。