如何在图中添加x轴线? (MATLAB)

时间:2011-11-10 21:58:44

标签: matlab matlab-figure

我想在0处将x轴线添加到matlab图中,这样我就可以比较我的数据,看看将数字保存为jpg时是正还是负。做这个的最好方式是什么?我知道你可以使用line()但它看起来很麻烦,因为你需要指定x和y范围。有没有更简单的方法?谢谢!

6 个答案:

答案 0 :(得分:32)

存在未记录的函数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');

screenshot

好消息是它在内部实现了一个轴限制的监听器(处理更改像pan,zoom等...)。所以线条看起来会延伸到无穷大。

答案 1 :(得分:6)

我不相信有一种更方便的内置方式。我使用FileExchange中的hline()vline(),它就像一个魅力:

http://www.mathworks.com/matlabcentral/fileexchange/1039

答案 2 :(得分:6)

您可以在创建图形后直接获取此x范围。它有点像这样:

x=-2:5;
y=x.^2-1;

figure()
plot(x,y);

xlim = get(gca,'xlim');  %Get x range 
hold on
plot([xlim(1) xlim(2)],[0 0],'k')

enter image description here

请注意,如果您在图中进行任何手动缩小,则可能必须重新绘制线以覆盖整个新x范围。

答案 3 :(得分:6)

像GNU R中的vlinehline命令会很棒,但我找不到比

更短的解决方案
plot(1:10,sin(1:10));
line(xlim,[0 0],'Color','r') 

答案 4 :(得分:0)

  1. plot()命令或stem()绘制数据。图形窗口将打开。
  2. 然后在图窗口中,单击
    的[插入]命令      菜单栏,将出现一个下拉菜单。
  3. 从此菜单中单击[line]命令,现在为
    的形状      光标将变为加号。
  4. 现在,您可以在任何地方绘制一条线,水平或
         垂直或倾斜。
  5. 您可以通过右键单击
    来更改线条的属性      行,会出现一个菜单,您可以从中选择您的愿望      属性。
  6. 如果你想在线上有一些刻度线,那么你可以使用add      文本选项,并将文本放在任何您想要的位置。
  7. 如果您想获得图片的代码,请点击[文件]      菜单然后单击[生成代码]选项,新建文本编辑器      窗口将打开,您可以保存此代码以供进一步使用。祝你好运。

答案 5 :(得分:0)

自MATLAB R2018b起,yline用于此目的:

 yline(0)

y==0处绘制一条水平线。