How to set line style while using plot in a for loop?
36 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am trying to plot some data from a structure usign a for loop. I want to set the "linetype" property every iteration. But I don't know how to pass the value of the property to the plot command.
Here is an example of the code:
for j=1:2
subplot(2,1,j)
for i=1:3
plot(sD{i}.t,sD{i}.V(:,j),'linestyle',linS{i}); hold on;
end
end
however, if I create the cell array
lin={'-','--',':'}
plot does not understand it is the value of line style property. I don't understand of it is possible to send a string to the property value. Is there a way?
The other option I explored is using "findall" to get line objects and change their properties, but still I guess I would not be able to do it in a loop.
I cannot "vectorize" the plot because the variables in the structure have different sizes.
Thanks for your help!
0 Kommentare
Akzeptierte Antwort
Daniel Shub
am 13 Nov. 2011
With a slight change (changing lin to be linS) it works for me...
linS = {'-','--',':'};
for j=1:2
subplot(2,1,j)
for i=1:3
plot(randn(10, 1),'linestyle',linS{i}); hold on;
end
end
I also replaced what you are plotting with randn. What do you get?
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Discrete Data Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!