我想在0处将x轴线添加到matlab图中,以便在将数据保存为jpg时比较我的数据以查看它是正还是负 . 做这个的最好方式是什么?我知道你可以使用line()但它看起来很麻烦,因为你需要指定x和y范围 . 有没有更简单的方法?谢谢!
我不相信有一种更方便的内置方式 . 我使用FileExchange中的 hline() 和 vline() ,它就像一个魅力:
hline()
vline()
http://www.mathworks.com/matlabcentral/fileexchange/1039
存在未记录的函数 graph2d.constantline :
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');
好处是它内部实现了一个轴限制的监听器(句柄改变像平移,缩放等...) . 因此线条看起来会扩展到无穷大 .
您可以在创建图形后直接获得此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范围 .
像GNU R中的 vline 和 hline 命令会很棒,但我找不到比
vline
hline
plot(1:10,sin(1:10)); line(xlim,[0 0],'Color','r')
通过 plot() 命令或 stem() 绘制数据 . 图形窗口将打开 .
plot()
stem()
然后在图窗口中,单击[插入]命令菜单栏,将出现一个下拉菜单 .
从这个菜单中单击[line]命令,现在的形状为光标将变为加号 .
现在您可以在任何地方绘制一条线,水平或垂直或倾斜 .
您可以通过右键单击更改行的属性行,将出现一个菜单,您可以从中选择您的愿望属性 .
如果你想在线上有一些刻度,那么你可以使用添加文本选项,并将文本放在任何你想要的地方 .
如果您想获得图形代码,请单击[文件]菜单,然后单击[生成代码]选项,新文本编辑器窗口将打开,您可以保存此代码以供进一步使用 . 祝好运 .
5 回答
我不相信有一种更方便的内置方式 . 我使用FileExchange中的
hline()
和vline()
,它就像一个魅力:http://www.mathworks.com/matlabcentral/fileexchange/1039
存在未记录的函数
graph2d.constantline
:好处是它内部实现了一个轴限制的监听器(句柄改变像平移,缩放等...) . 因此线条看起来会扩展到无穷大 .
您可以在创建图形后直接获得此x范围 . 它有点像这样:
请注意,如果在图中进行任何手动缩小,则可能必须重新绘制线以覆盖整个新x范围 .
像GNU R中的
vline
和hline
命令会很棒,但我找不到比通过
plot()
命令或stem()
绘制数据 . 图形窗口将打开 .然后在图窗口中,单击[插入]命令
菜单栏,将出现一个下拉菜单 .
从这个菜单中单击[line]命令,现在的形状为
光标将变为加号 .
现在您可以在任何地方绘制一条线,水平或
垂直或倾斜 .
您可以通过右键单击更改行的属性
行,将出现一个菜单,您可以从中选择您的愿望
属性 .
如果你想在线上有一些刻度,那么你可以使用添加文本选项,并将文本放在任何你想要的地方 .
如果您想获得图形代码,请单击[文件]菜单,然后单击[生成代码]选项,新文本编辑器
窗口将打开,您可以保存此代码以供进一步使用 . 祝好运 .