Boxplot Data
34 views (last 30 days)
Show older comments
I have a very large set of data with many groups and subgroups. The boxplot command works well for visualization of the data. I was wondering if there was an easy way to extract the data displayed without actually doing a manual calculation of each parameter. For example, I wish boxplot provided a set of function output variables that report the values used to plot each box (mean, interquartile range, outliers, etc.)
Does anyone know of an easy way to extract this information automatically?
I know that I can manually write a script to calculate each of the values...just wondering if there is a shortcut.
0 Comments
Accepted Answer
Maria Battle
on 9 Dec 2020
Edited: Maria Battle
on 9 Dec 2020
Similar to Oleg's answer, you could use the functions iqr and mean to address your first concerns. Note: interquartile uses median, not mean. For interquartile outlier output, use the 'quartiles' method for isoutlier. To get the same results between boxplot and isoutlier, make sure the whisker value in boxplot is the same value as the threshold factor in isoutlier.
load examgrades
t = datetime('2015-12-18 12:00:00') + days(1:120)';
g = grades(:,1);
figure
boxplot(g, 'Whisker', .5);
io = isoutlier(g,'quartiles','ThresholdFactor', .5);
outg = g(io);
outt = t(io);
t = table(outt, outg);
2 Comments
Maria Battle
on 8 Dec 2021
In that case, you might try using Matlab's quantile function and create a condition for your threshold. I believe that's basically what isoutlier() is doing when you use the quartiles and ThresholdFactor options. I haven't tried it though.
More Answers (2)
Oleg Komarov
on 23 Jun 2011
It way easier to calculate the stats:
min
max
quantile(x,[.25 .5 .75])
mean
2 Comments
Rania Rayyes
on 8 Jan 2020
Edited: Rania Rayyes
on 8 Jan 2020
median and not mean, and the upper bound is not max, max is outlier here
Aymen ABID
on 19 Mar 2021
Edited: Aymen ABID
on 19 Mar 2021
@Rania Rayyes quabtile .25 .5 .75 gives Q1,Q2 (median),Q3
median with isnan give the median
zahra zol
on 15 Apr 2017
i am desperately looking for the same thing...
1 Comment
Samuel Geurts
on 14 Sep 2017
Edited: Samuel Geurts
on 14 Sep 2017
if you open de handle of the boxplot you can achieve that information, but that is not easier than calculating it.
h = boxplot(x)
handle(h)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!