我想制作一个MATLAB绘图,它有刻度标签,但在x轴上没有刻度标记,但在y轴上有刻度标记。我该怎么做?
我不能使用
set(gca,'XTick',[])
因为这会删除勾号标签。我也不能使用
set(gca,'TickLength',[0 0])
因为这将去除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',[]);
这有点麻烦,但它的工作原理是使用plotyy()
函数中提供的额外y轴来保持x轴标签的刻度长度为0,同时仍然显示原始y轴的y刻度。
从MATLAB 2015b开始,您可以编写:
ax.XAxis.TickLength = [0,0];
并且仅X轴刻度长度减小到零。