# Turning off the axes box for marginal boxplots

11 views (last 30 days)
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 CommentsShowHide 1 older comment
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"

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))

R2016a

### Community Treasure Hunt

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

Start Hunting!