Max*_*din 8 matlab plot matlab-figure
我想制作一个带有刻度标签但在x轴上没有刻度线的MATLAB图,但在y轴上有刻度线.我怎样才能做到这一点?
我不能用
set(gca,'XTick',[])
Run Code Online (Sandbox Code Playgroud)
因为这会删除刻度标签.我也不能用
set(gca,'TickLength',[0 0])
Run Code Online (Sandbox Code Playgroud)
因为这会删除y轴上的刻度线.
您必须使用多个轴才能实现此效果,因为 MATLAB 不为 X 轴和 Y 轴提供单独的 TickLength 属性。
例子:
x=linspace(0,4*pi);
y=sin(x);
ax=plotyy(x,y,0,0);
set(ax(1),'XTick',[]);
set(ax(1),'YColor',get(ax(1),'XColor'))
set(ax(2),'TickLength',[0 0]);
set(ax(2),'YTick',[]);
Run Code Online (Sandbox Code Playgroud)
这有点 hacky,但它的工作原理是使用函数中提供的额外 y 轴plotyy()
来保持 x 轴标签的刻度长度为 0,同时仍然显示原始 y 轴的 y 刻度。