我想在刻度线之间放置标签,否则一些标签会相互重叠。
set(gca,'XTick',[66 98 134 215 266 330 334 388 414 443 ]);
set(gca,'XTickLabel',{'CD', 'CS', 'E' ,'F','H','I','C','IT','M','U'})
有人可以帮助我吗?
答案 0 :(得分:0)
xTICKS = [66 98 134 215 266 330 334 388 414 443 ];
xTICKS = [0 xTICKS]; %// Add the 0 instance
dxT = diff(xTICKS);%// get differences
xT = xTICKS(1:end-1)+dxT/2; %// Make new tick locations midway the old
通过这种方式,您可以在旧实例中间创建tickmarks + ticklabels的位置。我不确定你是否可以解开这两个,试试这个:
set(gca,'XTick',xT);
set(gca,'XTickLabel',{'CD', 'CS', 'E' ,'F','H','I','C','IT','M','U'})
您可以使用axes properties,尤其是刻度值和标签部分,但我无法找到解开刻度位置的方法。 ;相应的标签。
答案 1 :(得分:0)
我经常遇到这个问题,但是有一个非常简单的解决方案......只需在前面用空格填充你的标签!不一定都是......只需要移动的那些。每当您需要对文本注释进行微调时(例如' arrow',' text'等),这是一个很棒的技巧。
示例:
set(gca,'XTickLabel',{'CD', 'CS', 'E' ,'F','H','I',' C','IT','M','U'})
编辑: 我意识到这并没有解决垂直滴答问题。对于Y轴,请尝试
set(gca,'YTickLabel',{'CD', 'CS', 'E' ,'F','H','I',['A' char(10) ' C'],'IT','M','U'})
请注意' A'和' C'从技术上讲,它们是同一标签的一部分,但由于插入换行符(char(10)),它们似乎是两个不同的标签。