1

bar3 plot でゼロ値を非表示にすることはできますが、回避策は似ていますが、その解決策は直接適用できません。hist3()

画像処理 TB が必要な場合の回避策を次に示します。Toolbox に依存しない提案imdilate()を希望します(Stats 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]
4

1 に答える 1

3

imdilate(height, ones(3))あなたはと置き換えることができます

filter2(ones(3), height)

また

conv2(ones(3), height, 'same') 

ツールボックスも必要ありません。

于 2013-07-04T18:19:03.347 に答える