1
您可以隱藏zero values in a bar3 plot,但該解決方案是不直接適用到hist3()
即使解決方法在方式上類似。在hist3圖中隱藏零值(計數)
下面是基於imdilate()
一種變通方法,需要圖像處理TB,我想看看建議是工具箱獨立(僅統計TB是確定)。
% Example graph
hist3([2 0; 0 1; 1 1],[2 2])
% handle to graph3d.surfaceplot
h = get(gca,'child');
% retrieve the heights
heights = get(h,'Zdata');
% Index outer heights leaving a contour of zeros
mask = ~logical(imdilate(heights,ones(3)));
% Set the zero heights to NaN
heights(mask) = NaN;
% Final result
set(h,'ZData',heights)
這裏發生了什麼heights
:
heights =...
[0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 1 1 0 0
0 1 1 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0]
mask =...
[1 1 1 1 1 0 0 0 0 1
1 1 1 1 1 0 0 0 0 1
1 1 1 1 1 0 0 0 0 1
1 1 1 1 1 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 1 0 0 0 0 1
0 0 0 0 1 0 0 0 0 1
0 0 0 0 1 0 0 0 0 1
0 0 0 0 1 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1]
heights =...
[NaN NaN NaN NaN NaN 0 0 0 0 NaN
NaN NaN NaN NaN NaN 0 1 1 0 NaN
NaN NaN NaN NaN NaN 0 1 1 0 NaN
NaN NaN NaN NaN NaN 0 0 0 0 NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
0 0 0 0 NaN 0 0 0 0 NaN
0 1 1 0 NaN 0 1 1 0 NaN
0 1 1 0 NaN 0 1 1 0 NaN
0 0 0 0 NaN 0 0 0 0 NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN]
有趣的事情,我開始調查這個,但最終解決了另一個問題:http://stackoverflow.com/a/17477348/97160。直到我完成後,我意識到你正在使用'hist3'而不是'bar3' :) – Amro