How to add histogram to series of scattered plot on the same plot?

조회 수: 7 (최근 30일)
Ole
Ole 2020년 7월 12일
댓글: Ole 2020년 7월 13일
I would like to add hitogram for each scatter plot.
The code below plots in different color each slice of 3 dim scatter matrix.
I would like to replace 'scatter' with 'scatterhist' but the code does not work anymore.
n = [1:1:10]; % X
m = [1:1:3]; % Y
z1 = rand(1,20);
z2 = rand(1,20);
zr1 = reshape(z1,1,1,[]); % Z
zr2 = reshape(z2,1,1,[]); % Z
F1 = meshgrid(n,m).*zr1; %XYZ
F2 = meshgrid(n,m).*zr2; %XYZ
C = jet(length(n))
for en = 1:length(n)
for pll = 1:length(m)
scatter(reshape(F1(pll,en,:),1,[]),reshape(F2(pll,en,:),1,[]),[],C(en,:)); % ? scatterhist
hold on
end
end
hold off

채택된 답변

Tommy
Tommy 2020년 7월 13일
scatterhist() uses different syntax than scatter(). It seems like you need to enter all the data at once, as vectors, and then use a grouping variable. Try this:
groups = repelem(1:numel(n), numel(z1)*numel(m));
scatterhist(reshape(permute(F1,[3 1 2]),[],1), reshape(permute(F2,[3 1 2]),[],1),...
'Group', groups(:),...
'Color', C);

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Scatter Plots에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by