我使用以下方法手动为绘图轴绘制次要刻度线:
xg = [xlim(1):XMinorTickDistance:xlim(2)];
xg = repmat(xg,2,1);
yg = [ylim(1) ylim(1)+XMinorTickLength];
yg = repmat(yg',1,size(xg,2));
XMinorTick = plot(xg,yg,'Color',TickColor,'LineWidth',TickLineWidth,'LineStyle','-','Marker','none');
当我用数字手动选择XMinorTickLength时,它可以正常工作。但是,我想通过这样做使其成为刻度线长度的一半:
a=get(gca,'TickLength')
XMinorTickLength=a(1)/2;
这不会使次要蜱的主要蜱的一半大小。我做错了什么?
答案 0 :(得分:0)
好吧,
a=get(gca,'TickLength')
XMinorTickLength=a(1)/2;
将属性TickLength
读入变量a
,然后创建一个包含/ 2的新变量XMinorTickLength
。仅命名变量XMinorTickLength
并不能告诉matlab将其解释为ticklength,它只是工作区中的某个值。你需要
a=get(gca,'TickLength');
a(1) = a(1)/2;
set(gca,'TickLength',a);
最后一行将修改后的a
写回属性TickLength
。