# Create line between plot points

4 views (last 30 days)
Hi Community,
Is there anyway to connet the * in this plot with a line?

Star Strider on 28 Jul 2021
Yes.
x = [0 10 20 30];
y = [355 433 510 590];
figure
plot(x, y, '*-r')
grid
Ax = gca;
Ax.XMinorGrid = 'on';
Ax.YMinorGrid = 'on';
Connected!
.

KSSV on 28 Jul 2021
You would have plotted them using
plot(x,y,'*r')
So use:
plot(x,y,'*r')
hold on
plot(x,y,'b')
##### 2 CommentsShowHide 1 older comment
KSSV on 28 Jul 2021
Why not? Can you show us the code which you have tried?

Steven Lord on 28 Jul 2021
It depends on how you plotted the points.
Case 1: you plotted all the data at once with just the markers
x = 1:10;
y = x.^2;
h = plot(x, y, '*');
Solution: either update the LineStyle property of the object or add a line style to your plot call.
x = 1:10;
y = x.^2;
h = plot(x, y, '-*'); % This line changed
title('With line style added to the plot call')
x = 1:10;
y = x.^2;
h = plot(x, y, '*');
h.LineStyle = ':'; % This line added
title('With line style set (to a different style than above) after the fact')
Case 2: you plotted each point in turn in their own line.
x = 1:10;
axis([0 10 0 100])
hold on
for whichPoint = 1:numel(x)
plot(x(whichPoint), x(whichPoint).^2, '*');
end
The solutions I'd recommend in this case would be either to assemble the vector inside the loop and plot it after the loop is complete (which reduces to case 1 above) or to use an animatedline.
x = 1:10;
axis([0 10 0 100])
hold on
h = animatedline('Marker', '*', 'LineStyle', '-'); % This line added
for whichPoint = 1:numel(x)
addpoints(h, x(whichPoint), x(whichPoint).^2); % This line changed
end
title('animatedline approach')
If you're using some other approach to plot these points, please show us a small sample of code you're using to plot the points.

R2020a

### Community Treasure Hunt

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

Start Hunting!

Translated by