Add various horizontal lines to a plot

1,775 ビュー (過去 30 日間)
FC93
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
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
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
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
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
FC93 2016 年 10 月 7 日
Thank you for your help.
Rolando Murilli
Rolando Murilli 2020 年 8 月 16 日
Thanks!!

サインインしてコメントする。


KSSV
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])
  1 件のコメント
FC93
FC93 2016 年 10 月 7 日
Thank you for your help.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeFormatting and Annotation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by