Turning off the axes box for marginal boxplots

11 views (last 30 days)
z8080
z8080 on 20 Jun 2018
Edited: Adam Danz on 17 Dec 2020
I followed this example to create a scatterplot with marginal box plots. I would like for both box plots to not have an axis box, but the command 'box off' seems to only apply to the scatterplot itself. How can I achieve this effect for the boxplots?
Also, what commands can I use to control (1) the aspect ratio of the boxplots, and (2) their distance to the main scatterplot?
Thank you!
  2 Comments
z8080
z8080 on 20 Jun 2018
Thanks. I know that, but in this case boxplot does not seem to return any handles, and if I nonetheless do
hAxes = boxplot(..
and then
box( hAxes, 'off' )
I get the error: "Axes handle must be a scalar"

Sign in to comment.

Answers (1)

Adam Danz
Adam Danz on 4 Oct 2018
Edited: Adam Danz on 17 Dec 2020
h=scatterhist(__) returns a 1x3 vector of axis handles for the [scatter axis, marginal x axis, marginal y axis].
To turn off/on the visibility of the marginal histograms/boxplots
set(findall(h(1).Parent,'Parent',h(2)),'Visible','off') % or 'on'
set(findall(h(1).Parent,'Parent',h(3)),'Visible','off') % or 'on'
To turn the marginal axes off/on
By default, the marginal axes are off and the objects in the axes are still visible.
h = scatterhist(...);
h(2).Visible = 'off'; % or 'on'
h(3).Visible = 'off'; % or 'on'
To permanently delete the marginal axes
Note that a listener that responds to changes in the axes assumes the marginal axes exist and will throw a warning if your make certain changes to the figure after removing a marginal histrogram axes. For this reason, the first option above is better.
delete(h(2))
delete(h(3))

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!