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

M
Madeline · Jul 13, 2020 · 2.2K views
Question
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
Expert Answer
Profile picture of Neeta Dsouza
Neeta Dsouza PhD Expert
Answered Aug 24, 2026

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);
100% Run Guarantee 3-Hour Fast-Track Delivery

Need a Custom Version or Complete Simulation for This Problem?

Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.

Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!