Is there a way to "handle" the ANOVA boxplot ?
5 views (last 30 days)
Show older comments
Hi all, I am doing several ANOVAs in a row and I would like to save each boxplot (I mean automatically, I know how to do it manually). Unfortunately I cannot create a figure handler (such as h=plot(...)) nor rename the box plot using "figure" (commented below). The only ugly workaround I have found so far is by using findobj(allchild(0), 'flat', 'Type', 'figure') after each ANOVA...
Anyone has a better idea ?
%figure('Name','LeftStepScores','NumberTitle','off')
[lSp,lStbl,lSstats] = anova1(leftA);
xticklabels(leftXlabels);
title('Left step scores')
Cheers !
Accepted Answer
Ameer Hamza
on 20 May 2018
Why don't you just use figure(). anova1() produce 2 figures, you can get their handles using
hTable = figure(1);
hBoxPlot = figure(2);
Similarly for other iteration use
hTable = figure(3);
hBoxPlot = figure(4);
You can also check if you have chosen the correct figure by checking the tag property of figure handle.
More Answers (1)
Jan
on 20 May 2018
You have mentioned the best solution already.
FigList = allchild(groot);
[lSp, lStbl, lSstats] = anova1(leftA);
FigHandle = setdiff(allchild(groot), FigList);
This is not "ugly", but works reliably.
I do not have the toolbox required to run annova1, so I cannot test if the created figure has a hidden handle. But when
xticklabels(leftXlabels);
title('Left step scores')
works correctly, the handle should be not hidden. Then this will work also:
FigHandle = gcf;
See Also
Categories
Find more on ANOVA 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!