How to get a scatterhistogram in an UIAxes (e.g. Matlab App)?
3 views (last 30 days)
Show older comments
Gernot Reichl
on 25 Jan 2024
Commented: Gernot Reichl
on 25 Jan 2024
a = [1 2 3 4];
b = [1 2 3 4];
scatterhist(a,b) %works fine sofar
% I would like to display the scatterhist in an uiaxes as for example with
% a boxplot
myAxes = uiaxes;
boxplot(myAxes,a,1)
Unfortunately scatterhist does not support the axes graphics object.
Are there possibilities to fix that?
thank you very much
kind regards
0 Comments
Accepted Answer
Adam Danz
on 25 Jan 2024
Edited: Adam Danz
on 25 Jan 2024
Scatterhistogram creates a figure with 3 axes. You can expecify where those 3 axes should be using the optional parent argument: scatterhistogram(parent,___) where parent can be a figure, panel, tab object, tiledchartlayout, or gridlayout.
Within your app figure, add a uipanel or one of the other supported objects. Then specify that object in the first argument of scatterhistogram.
Here's a demo that creates a figure instead of an app.
load patients
tbl = table(LastName,Age,Gender,Height,Weight);
fig = figure('Color',[.8 .8 .8]);
uip = uipanel(fig, 'Units','normalized','position', [.3 .3 .6 .6]);
s = scatterhistogram(uip,tbl,'Height','Weight');
If you prefer to use scatterhist, you can use the same workflow except that the parent argument is specified as name-value pair.
load fisheriris
x = meas(:,1);
y = meas(:,2);
fig = figure('Color',[.8 .8 .8]);
uip = uipanel(fig, 'Units','normalized','position', [.3 .3 .6 .6]);
s = scatterhist(x,y,'Parent',uip);
More Answers (0)
See Also
Categories
Find more on Descriptive Statistics and Visualization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!