Hello, I would like to plot a series of curves in the same graphs using lines and markers, and I want that every marker is filled and with the same color than the line color.
The following code plots 3 curves with line and markers. Each curve uses the same color for markers and line, and each curve has a different color, but the markers are not filled.
plot (x1,y1,'-o')
hold on
plot(x2,y2,'-o')
plot(x3,y3,'-o')
hold off
I could manually enter the colors for each curve and solve the problem, like this:
plot (x1,y1,'r-o','MarkerFaceColor','r')
hold on
plot(x2,y2,'b-o','MarkerFaceColor','b')
plot(x3,y3,'k-o','MarkerFaceColor','k')
hold off
... but this will be very inefficient when I have to plot many curves.
Could you please help me with a smarter solution?
Thanks!

 채택된 답변

Star Strider
Star Strider 2021년 8월 5일

0 개 추천

One approach —
x = linspace(0,10);
v = 1:5;
y = v(:)+sin(2*pi*v(:)*x);
cm = colormap(jet(size(y,1)));
figure
hold on
for k = 1:size(y,1)
plot(x, y(k,:), '-o', 'Color',cm(k,:), 'MarkerFaceColor',cm(k,:))
end
hold off
grid
xlabel('X')
ylabel('Y')
.

댓글 수: 2

Thanks a lot!!
Star Strider
Star Strider 2021년 8월 5일
As always, my pleasure!
.

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

추가 답변 (0개)

카테고리

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

제품

릴리스

R2020b

질문:

2021년 8월 5일

댓글:

2021년 8월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by