How to plot outliers from mean

6 views (last 30 days)
timetry2
timetry2 on 12 Oct 2019
Commented: timetry2 on 12 Oct 2019
I have a code that looks like this:
figure
for ii = 1:12
y =Data.StrideTimeIntervals_15minTrial.PD(:,ii);
subplot (3,4,ii),plot (y, 'r')
title (sprintf('PD %d',ii))
xlabel ('ISI #')
ylabel ('ISI (s)')
axis ([0,500,0.8,1.2])
disp (sprintf('PD %02d Done',ii))
end
How would I plot the outliers in red circles on all 12 graphs on the subplots. Here is what the subplots look like. figure1.PNG

Accepted Answer

the cyclist
the cyclist on 12 Oct 2019
There are three steps:
  1. Create an algorithm to define the outliers
  2. Identify the points that meet that definition
  3. Plot those points
Here is an example. You'll need to adapt to your case, for example, by doing this calculation inside of each for loop, and using your own definition of what constitutes an outlier.
Also, I would recommend against using red circles to identify outliers, since your plot is a red line.
% Make up some data
N = 1000;
y = randn(N,1);
y_mean = mean(y);
y_std = std(y);
% Define "outlier" as greater than 2 standard deviations away from the
% mean.
% Find the index to those points
outlierIndex = find(abs(y - y_mean) > 2*y_std);
figure
hold on
% Plot the data
plot(y,'.')
% Plot a red circle around the outliers
plot(outlierIndex,y(outlierIndex),'ro')
test.png
  3 Comments
the cyclist
the cyclist on 12 Oct 2019
I don't understand this new question. Since your original question seems to be answered, can I suggest you accept my answer, and start a new one, with a more complete description of what you are trying to do?
timetry2
timetry2 on 12 Oct 2019
Yes, thank you for your help

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots 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!