Vertical refline in matlab?

前端 未结 5 859
失恋的感觉
失恋的感觉 2020-12-19 23:12

How do I draw a vertical refline in matlab? e.g. I want to plot a line of x=5. Obviously using inf does not help at all. Can anyone give some advice?

相关标签:
5条回答
  • 2020-12-19 23:50

    You can use refline and then edit the XData and YData properties to create a vertical line.

    0 讨论(0)
  • 2020-12-19 23:58

    There is an excellent answer over on https://stackoverflow.com/a/8108766/1194420 repeated below for convenience. (Please go there an up vote the original answer) ---

    There exist an undocumented function graph2d.constantline:

    plot(-2:5, (-2:5).^2-1)
    %# vertical line
    hx = graph2d.constantline(0, 'LineStyle',':', 'Color',[.7 .7 .7]);
    changedependvar(hx,'x');
    %# horizontal line
    hy = graph2d.constantline(0, 'Color',[.7 .7 .7]);
    changedependvar(hy,'y');
    
    0 讨论(0)
  • 2020-12-20 00:00

    The function refline lets you specify gradient and intercept.

    0 讨论(0)
  • 2020-12-20 00:10

    You can create a vector with many identical values for x. Something like this:

    x = 5*ones(1,100);
    y = 1:100;
    plot(x,y)
    

    or use the line function:

    line([5,5],[0,10])
    

    To automatically detect the range of line, use ylim:

    plot(1:10)
    
    line([5,5],ylim)
    
    0 讨论(0)
  • 2020-12-20 00:13

    Since MATLAB R2018b there is xline for this purpose:

     xline(0)
    

    draws a vertical line at x==0.

    0 讨论(0)
提交回复
热议问题