MATLAB Answers

Boxplot Data

217 views (last 30 days)
Seth
Seth on 23 Jun 2011
Edited: Aymen ABID on 19 Mar 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.

Accepted Answer

Maria Battle
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);
  1 Comment
Aymen ABID
Aymen ABID on 19 Mar 2021
isoutlier not exist in r2016

Sign in to comment.

More Answers (2)

Oleg Komarov
Oleg Komarov on 23 Jun 2011
It way easier to calculate the stats:
min
max
quantile(x,[.25 .5 .75])
mean
  2 Comments
Aymen ABID
Aymen ABID on 19 Mar 2021
@Rania Rayyes quabtile .25 .5 .75 gives Q1,Q2 (median),Q3
median with isnan give the median

Sign in to comment.


zahra zol
zahra zol on 15 Apr 2017
i am desperately looking for the same thing...
  1 Comment
Samuel Geurts
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)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by