Add markers to stem plot above a threshold

25 vues (au cours des 30 derniers jours)
Steffen Kristiansen
Steffen Kristiansen le 19 Mai 2020
Modifié(e) : Cris LaPierre le 19 Mai 2020
Hello,
I have a stem plot where I have removed all the markers. Now I want to add cross markers to the stems that exceed a certain threshold on the y-axis.
Is there a way to do that?

Réponse acceptée

Cris LaPierre
Cris LaPierre le 19 Mai 2020
Modifié(e) : Cris LaPierre le 19 Mai 2020
This would have to be done in two steps. First, create your stem plot with no markers, then plot a second stem plot on top of it for just the data that meets your requirements. Here's a simple example.
% Create your data. You will need x for the second plot.
x = 1:7;
y=[2 3 2 6 2 5 1];
% Find data points that exceed your threshold
ind = y>=5;
%Create the first stem plot. Specify the color to use in both stem plots
stem(x,y,"Marker","none",'Color','b')
% Add a second stem plot on top of the first.
hold on
stem(x(ind),y(ind),'Color','b','Marker',"x","LineStyle","none")
hold off
xlim([0,8])
ylim([0,8])
  1 commentaire
Steffen Kristiansen
Steffen Kristiansen le 19 Mai 2020
Thank you very much. It works perfectly.

Connectez-vous pour commenter.

Plus de réponses (1)

Johannes Hougaard
Johannes Hougaard le 19 Mai 2020
Either by plotting the stem plot in two steps (over and under cutoff)
data = rand(18,1)+randperm(18)';
figure;axes;hold on;
cutoff = 12;
stem(find(data <= cutoff),data(data <= cutoff),'Marker','none','Color',[0 0.4470 0.7410]);
stem(find(data > cutoff),data(data > cutoff),'b','Marker','x','Color',[0 0.4470 0.7410]);
Or by adding x'es as a text
figure;
sh = stem(data,'Marker','none');
text(sh.XData(sh.YData > cutoff),sh.YData(sh.YData > cutoff),'x','color',get(sh,'Color'),...
'HorizontalAlignment','center','VerticalAlignment','bottom');

Catégories

En savoir plus sur Stem 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