How to plot outliers from mean

5 vues (au cours des 30 derniers jours)
timetry2
timetry2 le 12 Oct 2019
Commenté : timetry2 le 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

Réponse acceptée

the cyclist
the cyclist le 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 commentaires
the cyclist
the cyclist le 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 le 12 Oct 2019
Yes, thank you for your help

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by