# Add various horizontal lines to a plot

2,109 次查看（过去 30 天）
FC93 2016-10-7
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.

### 采纳的回答

Marc Jakobi 2016-10-7

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)
##### 6 个评论显示 4更早的评论隐藏 4更早的评论
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).
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)))
##### 2 个评论显示 无隐藏 无
FC93 2016-10-7
Rolando Murilli 2020-8-16
Thanks!!

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])
FC93 2016-10-7

### 类别

Help CenterFile Exchange 中查找有关 Formatting and Annotation 的更多信息

### Community Treasure Hunt

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

Start Hunting!

Translated by