How to plot vertical lines?
22 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
andrea
am 20 Okt. 2014
Kommentiert: Alberto Sivera
am 17 Nov. 2021
This is the script:
x=[0:0.1:10]; x1=5;
plot(x,2*sin(x),x,5*sin(x),x,cos(x));
line([x1 x1],???????);
I would like to plot the vertical line from the top to the bottom without knowing the y-axis limits.
Thanks in advance!
0 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 20 Okt. 2014
x=[0:0.1:10];
x1=5;
plot(x,2*sin(x),x,5*sin(x),x,cos(x));
y1=get(gca,'ylim')
hold on
plot([x1 x1],y1)
2 Kommentare
Weitere Antworten (5)
Kelly Kearney
am 20 Okt. 2014
line([x1 x1], get(gca, 'ylim'));
5 Kommentare
Image Analyst
am 17 Nov. 2021
@Alberto Sivera if you have R2018b or later, you should really be using xline() like @Pierre Tallotte shows in his answer below.
xline(x1, 'Color', 'r', 'LineWidth', 2);
Alberto Sivera
am 17 Nov. 2021
thank you, but unfortunately I have the r2017b version and i'm too lazy to update it :)
Pierre Tallotte
am 10 Apr. 2020
x=[0:0.1:10]; x1=5;
plot(x,2*sin(x),x,5*sin(x),x,cos(x));
xline(x1);
0 Kommentare
Image Analyst
am 20 Okt. 2014
simply pass in ylim for the y array:
line([x1 x1], ylim);
3 Kommentare
Image Analyst
am 27 Jul. 2017
Not sure.
ylim() is not returning the correct y axis range limits.
That certainly is weird. I'd call tech support on this one.
Jan
am 28 Aug. 2017
If the axes is scaled, e.g. when adding new objects or for printing, using the current limits for the Y-position is fragile. You can use much larger positions and exclude the line from the list of objects, which influence the auto-scaling:
YL = get(gca, 'ylim');
YR = YL(2) - YL(1);
YL = [YL(1) - 1000 * YR, YL(2) + 1000 * YR];
line([5, 5], YL, 'YLimInclude', 'off')
'YLimInclude' in undocumented and might be removed in the future.
0 Kommentare
Jefferson Martinez Saavedra
am 23 Okt. 2020
Does someone know how to get/download xline and yline functions? I have R2018a's version of MATLAB.
Thank you in advance.
1 Kommentar
Image Analyst
am 23 Okt. 2020
If you dont' have xline and yline you can use line():
xl = xlim;
yl = ylim;
line([x, x], yl); % Old way of doing xline().
line(xl, [y, y]); % Old way of doing yline().
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!