11 views (last 30 days)

Show older comments

The plotting works perfectly if not for one thing: when plotting data using a grouping variable the marginal histograms look all normalized to their own maxima.

This makes it impossible to compare the relative abundance of elements in different groups, as it just gives an idea of how the data are distributed within each of them.

I would like instead to conserve the former information, thus allowing group comparisons.

It should be possible to access the handles of the marginal histograms in this way.

If "s" is the general handle: s = scatterhist(x,y,'Group',grouping_variable,'Kernel','on').

s(1) is the handle for the scatter plot

s(2) the bottom marginal hisogram (referred to the X axis) and

s(3) the one for the vertical histogram (referred to the Y axis)

I also did not manage to change the bin size of the two.

Perhaps all this is very trivial...

thanks for your help

Adam Danz
on 27 Feb 2020

Edited: Adam Danz
on 17 Dec 2020

" when plotting data using a grouping variable the marginal histograms look all normalized to their own maxima"

That shouldn't be the case. Consider this example. Note that each group's marginal histograms have different maximum heights which shows that they are not normalized to their hown maxima, if I understand you correctly.

The axes containing the maginal histograms are normallized (axis limits are [0,1]) when you're plotting kernel density but that doesn't affect the shape of the distribution. See comment below to learn how to turn the histogram axes on conver them from normalized axes to axes that show bin counts.

load fisheriris.mat;

x = meas(:,1);

y = meas(:,2);

clf()

scatterhist(x,y,'Group',species,'Kernel','on')

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

Start Hunting!