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

matlab matlab-figure

55224 观看

6回复

1952 作者的声誉

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

作者: O_O 的来源 发布者: 2011 年 11 月 10 日

回应 (6)


6

17900 作者的声誉

决定

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

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

作者: John Colby 发布者: 10.11.2011 10:20

6

3114 作者的声誉

您可以在创建图形后直接获得此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')

在此输入图像描述

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

作者: Vidar 发布者: 11.11.2011 12:33

32

116004 作者的声誉

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

截图

好处是它内部实现了一个轴限制的监听器(句柄改变像平移,缩放等...)。因此线条看起来会扩展到无穷大。

作者: Amro 发布者: 13.11.2011 12:57

6

2350 作者的声誉

像GNU R中的A vlinehline命令会很棒,但我找不到更短的解决方案

plot(1:10,sin(1:10));
line(xlim,[0 0],'Color','r') 
作者: Jonas Stein 发布者: 12.03.2015 10:25

0

6 作者的声誉

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

0

22210 作者的声誉

由于MATLAB R2018b就是yline为此目的:

 yline(0)

绘制一条水平线x==0

作者: Cris Luengo 发布者: 26.03.2019 12:54
32x32