MATLAB Answers

Add various horizontal lines to a plot

3,561 ビュー (過去 30 日間)
FC93
FC93 2016 年 10 月 7 日
コメント済み: Rolando Murilli 2020 年 8 月 16 日
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
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

  3 件のコメント

FC93
FC93 2016 年 10 月 7 日
Exactly, thank you. Now I included all the horizontal lines I needed.
Stephen
Stephen 2019 年 1 月 23 日
This helped me, too.
Is is also possible to draw a horizontal line of specified length BELOW a figure? I have a heatmap that plots certain data versus time on the x axis. I'd like to add a calibration bar just below the x axis.
Steeven Lopez
Steeven Lopez 2020 年 7 月 22 日
Thx a lot!

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

その他の回答 (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.

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

Community Treasure Hunt

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

Start Hunting!

Translated by