How to plot multiple vertical lines at specific points on x axis?

I want to plot 0.8 at 0, 0.1 at 0.9 and 0.06 at -1.3. Here is what I am trying but I am onling getting a single line.
close all; clear all; clc;
x = -1.5:0.1:1.5;
y = zeros(1,31);
p1=plot([-1.3 1.3],[0 0.06]);
p2=plot([0.9 0.9],[0 0.1]);
p3=plot([0 0],[0 0.8]);

3 Comments

Thanks a lot. The plot is showing different colors for each line. How can I fix one color?
See the updated answer. Refer to this link for more details about formatting the line: https://www.mathworks.com/help/matlab/ref/plot.html#btzitot-Color

Sign in to comment.

 Accepted Answer

You need to hold the axes to retain all plots
clc;
x = -1.5:0.1:1.5;
y = zeros(1,31);
ax = axes();
hold(ax);
p1=plot([-1.3 -1.3],[0 0.06],'r');
p2=plot([0.9 0.9],[0 0.1],'r');
p3=plot([0 0],[0 0.8],'r');

More Answers (1)

By default, matlab replaces plots on an axes instead of adding. However, if you set hold on, it will add instead of replacing, like so:
close all; clear all; clc;
x = -1.5:0.1:1.5;
y = zeros(1,31);
p1=plot([-1.3 1.3],[0 0.06]);
hold on %the key!
p2=plot([0.9 0.9],[0 0.1]);
p3=plot([0 0],[0 0.8]);

Categories

Find more on Graphics Object Properties in Help Center and File Exchange

Asked:

on 10 Mar 2020

Commented:

on 11 Mar 2020

Community Treasure Hunt

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

Start Hunting!