我想在0处将x轴线添加到matlab图中,这样我就可以比较我的数据,看看将数字保存为jpg时是正还是负。做这个的最好方式是什么?我知道你可以使用line()但它看起来很麻烦,因为你需要指定x和y范围。有没有更简单的方法?谢谢!
答案 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');
好消息是它在内部实现了一个轴限制的监听器(处理更改像pan,zoom等...)。所以线条看起来会延伸到无穷大。
答案 1 :(得分:6)
我不相信有一种更方便的内置方式。我使用FileExchange中的hline()
和vline()
,它就像一个魅力:
答案 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')
请注意,如果您在图中进行任何手动缩小,则可能必须重新绘制线以覆盖整个新x范围。
答案 3 :(得分:6)
像GNU R中的vline
和hline
命令会很棒,但我找不到比
plot(1:10,sin(1:10));
line(xlim,[0 0],'Color','r')
答案 4 :(得分:0)
plot()
命令或stem()
绘制数据。图形窗口将打开。答案 5 :(得分:0)