Plot multiple curves with filled markers

80 views (last 30 days)
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!

Accepted Answer

Star Strider
Star Strider on 5 Aug 2021
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')
.

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!