在Matlab图中手动绘制次刻度标记 - 长度问题

时间:2015-02-01 21:58:23

标签: matlab plot

我使用以下方法手动为绘图轴绘制次要刻度线:

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;

这不会使次要蜱的主要蜱的一半大小。我做错了什么?

1 个答案:

答案 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