Plot multiple curves with filled markers

206 ビュー (過去 30 日間)
Fernando Meneses
Fernando Meneses 2021 年 8 月 5 日
コメント済み: Star Strider 2021 年 8 月 5 日
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 日
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 件のコメント
Star Strider
Star Strider 2021 年 8 月 5 日
As always, my pleasure!
.

サインインしてコメントする。

その他の回答 (0 件)

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by