删除第二个y轴上的刻度线,但保留框

时间:2014-02-20 16:25:14

标签: matlab

提供如下代码:

  

X = 1:0.5:10   
情节(X,SIN(X))   
设置(GCA, '盒子', '上')

我试图让左轴保持它的刻度线而右轴没有。 我知道我不想做以下事情:

  

集(GCA, '盒子', '关闭')   
set(gca,'Ytick','[]')%这会关闭左右轴刻度线。我只想把它关掉。

我真的非常喜欢不使用plotyy。任何帮助,将不胜感激。 创建dumby轴是唯一的选择吗? http://www.mathworks.com/matlabcentral/newsreader/view_thread/261486

1 个答案:

答案 0 :(得分:1)

我认为你被困在使用虚拟轴(或各种更具吸引力的选项)。

FWIW,所需代码只有几行;我能得到的最短的是:

a1 = axes('box','on','xtick',[],'ytick',[]);  %Under axis, used as background color and box;
a2 = axes();        %Over axis, used for ticks, labels, and to hold data
propLink = linkprop([a1 a2],'position');      %Keep the positions the same
x=1:.5:10                                     %Make and plot data
plot(a2, x,sin(x))
set(a2,'box','off','color','none');           %Set top axes props last ("plot" overrides some properties)