How to plot vertical lines?

조회 수: 177 (최근 30일)
andrea
andrea 2014년 10월 20일
댓글: Alberto Sivera 2021년 11월 17일
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!

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2014년 10월 20일
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
Brando Miranda
Brando Miranda 2017년 10월 14일
can u explain?
Eric Sargent
Eric Sargent 2020년 6월 23일
Starting in R2018b you can use xline and yline.

댓글을 달려면 로그인하십시오.

추가 답변 (5개)

Kelly Kearney
Kelly Kearney 2014년 10월 20일
line([x1 x1], get(gca, 'ylim'));
Or this function will automate the process, if you have a lot of reference lines to plot.
  댓글 수: 5
Image Analyst
Image Analyst 2021년 11월 17일
@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
Alberto Sivera 2021년 11월 17일
thank you, but unfortunately I have the r2017b version and i'm too lazy to update it :)

댓글을 달려면 로그인하십시오.


Pierre Tallotte
Pierre Tallotte 2020년 4월 10일
The xline function is just what you need:
x=[0:0.1:10]; x1=5;
plot(x,2*sin(x),x,5*sin(x),x,cos(x));
xline(x1);

Image Analyst
Image Analyst 2014년 10월 20일
simply pass in ylim for the y array:
line([x1 x1], ylim);
  댓글 수: 3
Image Analyst
Image Analyst 2017년 7월 27일
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
Jan 2017년 8월 28일
@Liyuan: See my answer.

댓글을 달려면 로그인하십시오.


Jan
Jan 2017년 8월 28일
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.

Jefferson Martinez Saavedra
Jefferson Martinez Saavedra 2020년 10월 23일
Does someone know how to get/download xline and yline functions? I have R2018a's version of MATLAB.
Thank you in advance.
  댓글 수: 1
Image Analyst
Image Analyst 2020년 10월 23일
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().

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by