This does not work. It gives me error: Error using set Value must be a handle
I understand the problem, should make var in the last line to be a handle, but can't figure out how to fix it! and is it possible to assign different colors to each plot when m loops through.
var = ['p' num2str(m)];
eval([var '= plot(x,y);']);
set(var,'Marker','o')
Thanks is advance.

댓글 수: 2

I don't have any idea what you're trying to do, but I'm sure that this is not the way to do it. It's wrong in more ways that one. Take a step back and give us the big picture, like you want to use different markers on different curves in your graph, or whatever...
Basically what I'mm trying to do is plot several graphs into one figure, and assign each a different set of colors and markers. May be something like the following would better explain this considering x and y are updated in each loop (new datasets):
for m = 1:5
var = ['p' num2str(m)];
eval([var '= plot(x,y);']);
set(var,'Marker','o')
end
but I want to use different markers though each loop for each graph.
Hope this explains the issue better.

댓글을 달려면 로그인하십시오.

 채택된 답변

Chad Greene
Chad Greene 2014년 10월 27일
Does this do what you're looking for?
x = linspace(0,2*pi,100);
markers = {'x','+','s','p','^'};
colors = colormap(jet(5));
LineWidths = 1:5;
hold on
for k = 1:5
h(k) = plot(x,randi(10)*sin(x*rand(1)),...
'marker',markers{1},...
'color',colors(k,:),...
'linewidth',LineWidths(k));
end
If you'd like to set values after plotting, h contains a handle for each plotted object.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

질문:

2014년 10월 27일

댓글:

2014년 10월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by