Create line between plot points
515 次查看(过去 30 天)
显示 更早的评论
Hi Community,
Is there anyway to connet the * in this plot with a line?
0 个评论
采纳的回答
Star Strider
2021-7-28
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!
.
0 个评论
更多回答(2 个)
KSSV
2021-7-28
You would have plotted them using
plot(x,y,'*r')
So use:
plot(x,y,'*r')
hold on
plot(x,y,'b')
You can speecify your required markers. Read about plot.
2 个评论
Steven Lord
2021-7-28
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.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!