markers not getting joined in plot

53 vues (au cours des 30 derniers jours)
Sumera Yamin
Sumera Yamin le 27 Août 2020
Commenté : Steven Lord le 27 Août 2020
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 commentaires
Stephen23
Stephen23 le 27 Août 2020
Modifié(e) : Stephen23 le 27 Août 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 le 27 Août 2020
Modifié(e) : Sumera Yamin le 27 Août 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

Connectez-vous pour commenter.

Réponse acceptée

Stephen23
Stephen23 le 27 Août 2020
Modifié(e) : Stephen23 le 27 Août 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 commentaires
Sumera Yamin
Sumera Yamin le 27 Août 2020
Thanks
Steven Lord
Steven Lord le 27 Août 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.

Connectez-vous pour commenter.

Plus de réponses (1)

KSSV
KSSV le 27 Août 2020
plot(x,y,'o',x,y,'-')
Or
plot(x,y,'-o')
Or
plot(x,y,'o')
hold on
plot(x,y)
  2 commentaires
Sumera Yamin
Sumera Yamin le 27 Août 2020
thanks, tried this. doesnt help
KSSV
KSSV le 27 Août 2020
Modifié(e) : KSSV le 27 Août 2020
x = 1:10 ;
y = rand(size(x)) ;
plot(x,y,'-o')
Show the output.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Line Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by