Changing color of point in stem plot based on value
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm doing a stem plot of one vector in MATLAB. Can I change the color/marking of only the values that are zero in that vector? Right now, the 'points' of zero are only empty spaces in the stem plot.
0 commentaires
Réponse acceptée
Matt Fig
le 7 Avr 2011
No, but that doesn't mean you can't get what you want.
t = (-3*pi:.1:3*pi);
y = round(sin(t)*5)/5;
idx = y~=0;
ynz = y(idx);
yz = y(~idx);
h = stem(t(idx),ynz,'fill','--');
hold on
h(2) = stem(t(~idx),yz);
set(get(h(1),'BaseLine'),'LineStyle',':')
set(h(1),'MarkerFaceColor','red')
set(h(2),'MarkerFaceColor','k','Markersize',8)
3 commentaires
Matt Fig
le 7 Avr 2011
In the case of a matrix instead of a vector (didn't you say in your OP that you had a vector??), each column is plotted separately. So do:
t = (-3*pi:.1:3*pi).';
y(:,1) = round(sin(t)*5)/5; % A matrix used for the call to STEM.
y(:,2) = round(cos(t)*5)/5;
idx = y~=0;
ynz = y;
ynz(~idx) = nan;
y(idx) = nan;
h{1} = stem(ynz,'fill','--');
hold on
h{2} = stem(y);
set(get(h{1}(1),'BaseLine'),'LineStyle',':')
set(h{1}(1),'MarkerFaceColor','red')
set(h{2}(1),'MarkerFaceColor','c','Markersize',10)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Discrete Data 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!