Matlab 设置XTICK之间的标签
我想把标签放在刻度之间,否则有些标签会相互重叠Matlab 设置XTICK之间的标签,matlab,plot,labels,Matlab,Plot,Labels,我想把标签放在刻度之间,否则有些标签会相互重叠 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'}) 谁能帮帮我吗 xTICKS = [66 98 134 215 266 330 334 388 414 443 ]; xTICKS = [0 xTICKS]; %// Add the 0 in
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'})
谁能帮帮我吗
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
这样,您可以在旧实例的中间创建记号+记号标签的位置。我不确定是否可以将两者解耦,请尝试以下方法:
set(gca,'XTick',xT);
set(gca,'XTickLabel',{'CD', 'CS', 'E' ,'F','H','I','C','IT','M','U'})
您可以随意使用,尤其是“记号值和标签”部分中的记号值和标签,但我找不到将记号位置与其对应的标签解耦的方法。我经常遇到这个问题,但有一个非常简单的解决方案……只需在标签的前面加上空格!不一定是所有的…只是那些需要移动的。这是一个伟大的技巧,任何时候你需要在一个文本注释(如与'箭头','文本',等等)的小调整 例如:
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)),它们似乎是两个不同的标签。谢谢编辑。“C”与“I”重叠。你考虑过扩大你的体型吗?谢谢,但这种方法也会改变记号的位置。@user5254599是的,这正是我所说的,我看不到将记号位置与其对应的标签含义解耦的方法,除了我展示的方法之外,我认为没有其他方法可以做到这一点。我将检查是否有可能绘制“两个轴”,一个有标签但没有刻度,另一个有刻度但没有标签,但我对此不抱太大希望。