2017-01-01 6 views
1

ヒストグラムが第3の軸に沿って分離された単一のプロットに複数のヒストグラムをプロットしたいと思います。例えば複数の正規化されたヒストグラムを第3軸に沿ってプロットする

、(私は同時に10件のヒストグラムのようなものをプロットしたいのですが、現実に)のは、私は、次の2つのヒストグラムをプロットしたいとしましょう:

enter image description here

enter image description here

彼らは、次のコードによって生成されます。

histogram(points_inside1,100,'Normalization','pdf') 

'points_inside1' と 'points_inside2' は10^5のエントリを持つ配列である
histogram(points_inside2,100,'Normalization','pdf') 

私はbar3を働かせることができませんでした(私は入力として正規化されたヒストグラムを取ることはできません)。

ありがとうございます。この権利を行うには

+0

@Royi確かに! –

答えて

1

、最初histcountsによってヒストグラムデータを取得する必要があり、その後、bar3とそれをプロットします

% some data: 
p1 = randn(1000,1)+2; 
p2 = randn(1000,1); 
% don't use too many bins: 
bins = 10; 
% get the histogram data: 
[N1] = histcounts(p1,bins,'Normalization','pdf'); 
[N2] = histcounts(p2,bins,'Normalization','pdf'); 
% plot it: 
bar3([N1.' N2.']); 

X軸が整列していないので、しかし、あなたはまだ問題がある可能性がありますすべてのヒストグラムの間、あなたはすべての他人のために組み合わせたヒストグラムのedgesを使用することができます。

% get the histogram data: 
[~,edges] = histcounts([p1;p2],bins,'Normalization','pdf'); 
[N1] = histcounts(p1,edges,'Normalization','pdf'); 
[N2] = histcounts(p2,edges,'Normalization','pdf'); 
% compute the correct X-tick values: 
X = movmean(edges.',2); 
% plot it: 
b = bar3(X(2:end),[N1.' N2.']); 

3D_hist

関連する問題