How to change the mean value in the box plot?
10 次查看(过去 30 天)
显示 更早的评论
Hi all, I want to replace the mean value in the boxplot to the RMSE. as figure illustrates.
Thank you in advance
3 个评论
dpb
2016-5-19
A boxplot marker is the median, NOT the mean...
To change this, you'll have to edit the box plot properties; there's a discussion in the help of finding the proper object via findobj and Tag values for the various options...
采纳的回答
the cyclist
2016-5-19
编辑:the cyclist
2016-5-19
Here is an example of what dpb is proposing to do:
x = randn(1000,3);
figure boxplot(x) h = findobj(gca,'Tag','Median'); set(h,'Visible','off');
Notice that I have found the lines that are tagged as "Median", and turned off their visibility.
Now, you could add a marker or line (or whatever) to indicate the RMSE.
5 个评论
dpb
2016-5-20
编辑:dpb
2016-5-20
Don't just tell us what you did, show the code itself in question.
Actually, after Cyclist's fixup, perhaps scatter would be the trick--
hold on
hS=scatter(1:3,0.5*rand(1,3),'filled');
Ayup, that puts a marker in the near-middle of the three boxen; text could label it as well...
ADDENDUM
Actually, to do this, it would be better to delete the line mean objects and add the scatter points or replace the '[x|y]yData' properties of the mean line and set the marker style as wanted instead of just making them invisible. There's no sense in keeping unused objects hanging around.
更多回答(1 个)
dpb
2016-5-20
Building off of Cyclist's demo and the comments I made earlier--
x = randn(1000,3);
boxplot(x)
h = findobj(gca,'Tag','Median');
set(h,{'xData'},{[1];[2];[3]}, ...
{'yData'},{[0.1];[0.2];[0.3]}, ...
'marker','*','color','k')
NB: the use of cell arrays to set multiple handles to disparate values in a single call to set. For demo I used hardcoded values but they can be variable, of course, and mat2cell can be helpful to build the proper shape.
2 个评论
dpb
2016-5-21
No problem, glad to help... :)
BTW, you can eliminate the temporary handle variable array by folding findobj into set...
set(findobj(gca,'Tag','Median') ...
{'xData'},{[1];[2];[3]}, ...
{'yData'},{[0.1];[0.2];[0.3]}, ...
'marker','*','color','k')
Like the objects themselves if not being used, I dislike keeping unneeded temporaries...
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Descriptive Statistics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!