我使用 plot()函数绘制图形,但默认情况下它不显示轴。
我们如何在图表上显示x = 0和y = 0的轴?
实际上我的图表类似于:
我想要一条与 y = 0 相对应的水平线。 我如何获得?
答案 0 :(得分:9)
默认情况下,除非您修改了某些设置,否则情节会显示轴。请尝试以下
hold on; % make sure no new plot window is created on every plot command
axes(); % produce plot window with axes
plot(% whatever your plot command is);
plot([0 10], [0 0], 'k-'); % plot the horizontal line
答案 1 :(得分:5)
穷人的解决方案是简单地绘制线x = 0和y = 0的图形。您可以调整线条的粗细和颜色,以区别于图形。
答案 2 :(得分:5)
这应该在Matlab中起作用:
set(gca, 'XAxisLocation', 'origin')
选项包括:bottom,top,origin。
对于Y.axis:
YAxisLocation; left, right, origin
答案 3 :(得分:4)
如果您希望轴看起来更像十字准线,而不是沿着边缘,请尝试使用Matlab FEX中的axescenter。
编辑:刚刚注意到这已经在Jitse Nielsen上面的链接中指出了。答案 4 :(得分:3)
也许grid on
就足够了。
答案 5 :(得分:2)
@Martijn您的函数调用顺序略有偏差。试试这个:
x=-3:0.1:3;
y = x.^3;
plot(x,y), hold on
plot([-3 3], [0 0], 'k:')
hold off
答案 6 :(得分:2)
我知道这有点晚了,但我的一位同事想出了什么:
figure, plot ((1:10),cos(rand(1,10))-0.75,'*-')
hold on
plot ((1:10),zeros(1,10),'k+-')
text([1:10]-0.09,ones(1,10).*-0.015,[{'0' '1' '2' '3' '4' '5' '6' '7' '8' '9'}])
set(gca,'XTick',[], 'XColor',[1 1 1])
box off
答案 7 :(得分:0)
受@ Luisa的回答启发,我做了一个函数,axes0
x = linspace(-2,2,101);
plot(x,2*x.^3-3*x+1);
axes0
您可以点击上面的链接下载该功能并获取有关使用情况的更多详细信息
答案 8 :(得分:-1)
最简单的解决方案:
plot([0,0],[0.0], xData, yData);
这会在点[0,0]到[0,0]之间创建一条不可见的线,并且由于Matlab想要包含这些点,它将显示轴。