extracting the median of a boxplot

39 次查看(过去 30 天)
hie. i have 6 boxplot figures like what i have attached to this post. all i want is to extract the median values of each box in the first subplot of each figure. can anybody help pls?

采纳的回答

Star Strider
Star Strider 2017-4-15
From the documentation:
  • boxplot creates a visual representation of the data, but does not return numeric values. To calculate the relevant summary statistics for the sample data, use the following functions: {In the documentation, the function list follows}
So, to get the median of the first box in a particular plot, do something like this:
Data = randn(100, 10);
Median_1 = median(Data(:,1));
figure(1)
boxplot(Data);
grid
  3 个评论
Star Strider
Star Strider 2017-4-15
My pleasure.
I did my best to use findobj to get the median (as the documentation for boxplot suggests), but I could not make it work. Apparently it is only possible to use findobj to change specific properties of boxplot.
Songbai Ji
Songbai Ji 2021-6-10
编辑:Songbai Ji 2021-6-10
Actually, boxplot returns a list of handles that you can ues to retreive the data:
t = rand(100,1);
hd = boxplot(t);
Now hd is a 7-by-1 array. You can check:
get(hd(1))
etc. to see what data it provides -- check the "tag" field. There should be one that gives median (use 'ydata').
I think boxplot will be able to remove outliers. Directly getting median from data does not.
You can also use findobj to retreive the handle:
hd = findobj('tag', 'Median');
then:
get(hd)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Distribution Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by