我的总体目标是仅改变x轴刻度的大小。但从我的搜索来看,这似乎相当困难。
因此,我尝试更改'TickLength'
的大小,然后删除Y轴刻度。但是,我仍然需要Y轴标签。关于如何完成我的总体目标或第二种方法的任何建议?感谢。
绘图代码:
set(gca, ...
'Box' , 'off' , ...
'TickLength' , [.19 .19] , ...
'XMinorTick' , 'off' , ...
'YMinorTick' , 'off' , ...
'YGrid' , 'off' , ...
'Xgrid' , 'off', ...
'XColor' , [.3 .3 .3], ...
'YColor' , [.3 .3 .3], ...
'YTickLabel', int8([ylimits(1):ylimits(2)/3:ylimits(2)]), ...
'YTick' , []);
答案 0 :(得分:1)
图形引擎的R2014b更新引入了以下更简单的解决方案:
h = gca;
h.Box = 'off';
h.XRuler.TickLength = 50;
h.YRuler.TickLength = 0;
我能想到的唯一方法是复制axes
,使顶部透明('color','none'
),然后将x轴或y轴分配给其中一个轴 - 对象并独立编辑它们:
f = figure(1)
plot(0:10,0:10);
ax1 = gca;
ax2 = copyobj(ax1,f)
set(ax1, ...
'Box' , 'off' , ...
'TickLength' , [.19 .19] , ...
'XMinorTick' , 'off' , ...
'YMinorTick' , 'off' , ...
'YGrid' , 'off' , ...
'Xgrid' , 'off', ...
'XColor' , [.3 .3 .3], ...
'YColor' , [.3 .3 .3], ...
'YTick' , []);
set(ax2, ...
'color' , 'none', ...
'Box' , 'off' , ...
'TickLength' , [.00 .00] , ...
'XMinorTick' , 'off' , ...
'YMinorTick' , 'off' , ...
'YGrid' , 'off' , ...
'Xgrid' , 'off', ...
'XColor' , [.3 .3 .3], ...
'YColor' , [.3 .3 .3], ...
'XTick' , []);
如果在进一步编辑绘图时遇到麻烦,例如由于两个轴对象,事物无法正确显示,您可以链接轴:
linkaxes([ax1,ax2],'xy')
答案 1 :(得分:0)
您可以将YTick
的属性设置为[]
,如下例所示:
figure;
plot(1:100, 1:100);
ax = gca;
ax.YTick = [];
ylabel('y label');
此代码为您提供以下结果: