How to set line style while using plot in a for loop?

48 次查看(过去 30 天)
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!

采纳的回答

Daniel Shub
Daniel Shub 2011-11-13
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?
  1 个评论
braulio
braulio 2011-11-13
Hej again! Thanks a lot once more ... the question had a typo, so I was using the right name of the variable "linS".
However, I was writing the a wrong property value because I was defining
linS={'-','--r','-k'}; %!!!!!
... so I should jut set color with color property :x
see you,
b

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Discrete Data Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by