markers not getting joined in plot

14 views (last 30 days)
I came across strange problem in matlab, i did a simple line plot using following code in a loop. i want to draw the line joining the markers. in principal it ishing , but the plot is just showing markers not joined by the line. I also t style property seperately, but did not work. Wonder what is preventing matlab to draw the line in plot
plot(x,y,'--o')
  4 Comments
Stephen23
Stephen23 on 27 Aug 2020
Edited: Stephen23 on 27 Aug 2020
"I wonder if something is preventing plot command to draw a line."
Your code. My guess is that you are plotting scalar values in a loop, which will show individual markers unconnected by a line.
If you want to have markers joined by lines then you must provide plot with vectors/matrices of data.
In the unlikely event that you really are calling plot just once then please click the paperclip button to upload the exact data vectors/matrices that you call it with, all saved in one .mat file. And show us the exact code used.
Sumera Yamin
Sumera Yamin on 27 Aug 2020
Edited: Sumera Yamin on 27 Aug 2020
i see your point. It is true, i am plotting scalar values in a loop. Many thanks for your answer. @ Stephen, i am not getting the option to accept your answer

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 27 Aug 2020
Edited: Stephen23 on 27 Aug 2020
You are plotting scalar values in a loop, which will show individual markers unconnected by a line.
If you want to have markers joined by lines then you must provide plot with vectors/matrices of data.
In practice this means
  • within the loop use indexing to add the data to a vector/matrix,
  • after the loop call plot once with that complete vector/matrix.
  2 Comments
Steven Lord
Steven Lord on 27 Aug 2020
Another alternative would be to create an animatedline before the loop and addpoints to it inside the loop.
axis([0 360 -1 1]);
h = animatedline;
for x = 0:360
addpoints(h, x, sind(x))
drawnow expose
end
You can specify property values for animatedline like Marker, LineStyle, Color, etc. when you create it.

Sign in to comment.

More Answers (1)

KSSV
KSSV on 27 Aug 2020
plot(x,y,'o',x,y,'-')
Or
plot(x,y,'-o')
Or
plot(x,y,'o')
hold on
plot(x,y)
  2 Comments
Sumera Yamin
Sumera Yamin on 27 Aug 2020
thanks, tried this. doesnt help
KSSV
KSSV on 27 Aug 2020
Edited: KSSV on 27 Aug 2020
x = 1:10 ;
y = rand(size(x)) ;
plot(x,y,'-o')
Show the output.

Sign in to comment.

Categories

Find more on Animation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!