# Boxplot Data

41 views (last 30 days)
Seth on 23 Jun 2011
Commented: Maria Battle on 8 Dec 2021
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.

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.
t = datetime('2015-12-18 12:00:00') + days(1:120)';
figure
boxplot(g, 'Whisker', .5);
io = isoutlier(g,'quartiles','ThresholdFactor', .5);
outg = g(io);
outt = t(io);
t = table(outt, outg);
Aymen ABID on 19 Mar 2021
isoutlier not exist in r2016
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.

Oleg Komarov on 23 Jun 2011
It way easier to calculate the stats:
min
max
quantile(x,[.25 .5 .75])
mean
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...
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)