Find the number of red marks in box plot
20 views (last 30 days)
Show older comments
I have the box plot like this. How can I find the number of the red marks?
T = [1;-1;0.5;-0.5;0.75;-0.75;-6;-7;4;3];
h = boxplot(T,'Labels',{'1'});
0 Comments
Accepted Answer
Chris
on 12 Dec 2021
Edited: Chris
on 12 Dec 2021
One method, which may not necessarily correlate to a boxplot in all situations (but probably works for the default boxplot), is to use isoutlier:
T = [1;-1;0.5;-0.5;0.75;-0.75;-6;-7;4;3];
outliers = isoutlier(T);
numOutliers = sum(outliers)
h = boxplot(T,'Labels',{'1'});
If you need to be sure you have the exact count in the boxplot, you can get the data in the image and drill down to find the outliers:
ax = gca; % Get current axes
bxplt = ax.Children; % The boxplot
plts = bxplt.Children % Individual plots that make up the boxplot.
% plts(1) holds the outliers
numRedMarks = numel(plts(1).YData)
% XData or YData -- points that make up the Outliers plot
To programmatically find the plots of outliers (in the event that you have more than one box):
idxs = find(strcmp({plts.Tag},'Outliers'));
outlierCell = {plts(idxs).YData}
numMarksFirstPlot = numel(outlierCell{1})
0 Comments
More Answers (0)
See Also
Categories
Find more on Axis Labels in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!