Add various horizontal lines to a plot
조회 수: 880 (최근 30일)
이전 댓글 표시
How can I add various horizontal lines to a plot?
I have a plot and now I want to add several horizontal lines. I would like to draw a horizontal line between x=-6 to x=-2 and another horizontal line between ×=3 and x=10.
Could someone show me a way to do it? Thank you.
댓글 수: 0
채택된 답변
Marc Jakobi
2016년 10월 7일
편집: MathWorks Support Team
2018년 11월 28일
If you want the line to have specific end points, you can use the line function. For example, this code draws a horizontal line at y = 5 between the points x = -6 and x = -2.
y = 5;
line([-6,-2],[y,y])
Starting in R2018b, you can use the xline and yline functions to draw vertical and horizontal lines, respectively. For example, this code draws a horizontal line at y = 5. The horizontal line extends in both the positive and negative directions with no end points.
yline(5)
For more information on the yline function, see: https://www.mathworks.com/help/matlab/ref/yline.html
댓글 수: 6
Steven Lord
2021년 2월 11일
plot(1:10)
h = yline(5, 'r--', 'LineWidth', 4);
You can change various properties of the line using its handle, or you can set those properties when the line is constructed like I did with the linespec ('r--') and the property names (LineWidth).
JORGE ORDOÑEZ CARRASCO
2021년 11월 23일
Hello i have a question about this topic what if a need severel ylines, spaced every 100 unitos and my axis goes from 0 to 2500, as you can see bellow, i have to add every 100 units a line and name it, is there a short cut cause i need to do this at least 23 times. Thank you
hold on
yline(244.229,'--','Lat 37')
hold on
yline(356.5,'--','Lat 38')
hold on
yline(468.7,'--','Lat 39')
hold on
yline(580.916,'--','Lat 40')
hold on
yline(693.145,'--','Lat 41')
hold on
yline(805.373,'--','Lat 42')
hold on
yline(917.602,'--','Lat 43')
추가 답변 (2개)
Massimo Zanetti
2016년 10월 7일
Horizontal line at what y coordinate? Fix y and then plot the line, for example if y=5:
x=1:12;
y=5;
plot(x,y*ones(size(x)))
KSSV
2016년 10월 7일
x=linspace(-6,-2,M) ;
%%y range
N = 50 ;
y = linspace(-5,5,N) ; % you have to select y range
for i = 1:N
xi = x ;
yi = y(i)*ones(size(xi)) ;
plot(xi,yi,'r')
hold on
end
x=linspace(3,10,M) ;
%%y range
N = 50 ;
y = linspace(-5,5,N) ;
for i = 1:N
xi = x ;
yi = y(i)*ones(size(xi)) ;
plot(xi,yi,'r')
hold on
end
xlim([-10 40])
참고 항목
카테고리
Help Center 및 File Exchange에서 Formatting and Annotation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!