使用plotyy和轴限制时,在MATLAB中从第2轴的第1轴移除刻度线

时间:2015-07-16 09:06:41

标签: matlab plot multiple-axes

我正在尝试将MATLAB plotyy函数与y轴限制结合使用

x = [4:2:14 18];
y1 = [86; 87; 88; 89; 89.3; 89.6; 89.7];
y2 = [15; 35; 63; 99; 143; 195; 323];
width = .36;
axes = plotyy(x-width, y1, x+width, y2, @(x,y) bar(x,y,width,'b'), @(x,y) bar(x,y,width,'r'));
set(axes(1), 'ylim', [85 90]);
set(axes(1), 'ytick', 85:90);
set(axes(2), 'ytick', 0:50:400);
set(axes,'xtick',x)

这就是结果:

The plotyy result with wrong ticks

我想要摆脱的是第二个y轴上没有刻度标签的刻度线。它们似乎是第一个y轴的剩余物。如何删除它们或避免它们被绘制?

2 个答案:

答案 0 :(得分:1)

根据this question中的代码示例,您应该做的是:

set(axes(1),'Box','off');

然而,这也删除了顶线。如果您需要保留该行,请参阅该问题的答案。

答案 1 :(得分:0)

您也可以使用:

box((axes(1),'off')