plotting issue in MATLAB

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?

 采纳的回答

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 个评论

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.
plot(r, z, '.-b')
Santanu
Santanu 2023-9-15
编辑:Santanu 2023-9-15
Thank you @Voss. It worked by changing that a bit(keeping it out of the loop).

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Line Plots 的更多信息

产品

版本

R2023a

标签

Community Treasure Hunt

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

Start Hunting!

Translated by