plot(r(i),z(n+1), '-b'); does not plot any points but plot(r(i),z(n+1), '.b'); does. I cannot figure it out why. Can anyone here help me regarding this?

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 14 Sep. 2023

0 Stimmen

plot() by default does not draw any markers.
plot() only creates lines when there are two or more adjacent finite points.
plot(r(i),z(n+1), '-b');
cannot create a line because it only has a single point. Or you could think of it as producing a line of size zero. And it doesn't create a marker because you did not ask for a marker.
plot(r(i),z(n+1), '.b');
asks for a marker (but not for a line). When you specify a marker then by default lines are turned off. If you wanted both you need to ask for both, such as
plot(r, z, '-.b')
Much of the time you should avoid plotting each point as it is calculated, and instead store the values and plot() after the end of the loop.

3 Kommentare

Santanu
Santanu am 15 Sep. 2023
Thank you for your comments. Actually this runs under a loop parametrized by i and n with "hold on" and "hold off'. Even using "plot(r, z, '-.b')" does not work. Any help would be appreciated.
Voss
Voss am 15 Sep. 2023
plot(r, z, '.-b')
Santanu
Santanu am 15 Sep. 2023
Bearbeitet: Santanu am 15 Sep. 2023
Thank you @Voss. It worked by changing that a bit(keeping it out of the loop).

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Line Plots finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2023a

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by