使用 plotyy 和轴限制时,从 MATLAB 中的第二轴上的第一轴删除刻度
Remove ticks from 1st axis on 2nd axis in MATLAB when using plotyy and axes limits
我正在尝试将 MATLABs 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)
这是结果:
我想去掉的是第二个 y 轴上没有刻度标签的刻度。它们似乎是第一个 y 轴的剩余部分。我怎样才能删除它们或避免它们被绘制?
根据中的代码示例,您应该做的是:
set(axes(1),'Box','off');
但是,这也会删除顶行。如果您需要保留线路,请同时查看该问题的答案。
你也可以使用这个:
box((axes(1),'off')
我正在尝试将 MATLABs 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)
这是结果:
我想去掉的是第二个 y 轴上没有刻度标签的刻度。它们似乎是第一个 y 轴的剩余部分。我怎样才能删除它们或避免它们被绘制?
根据
set(axes(1),'Box','off');
但是,这也会删除顶行。如果您需要保留线路,请同时查看该问题的答案。
你也可以使用这个:
box((axes(1),'off')