Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 设置XTICK之间的标签_Matlab_Plot_Labels - Fatal编程技术网

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是的,这正是我所说的,我看不到将记号位置与其对应的标签含义解耦的方法,除了我展示的方法之外,我认为没有其他方法可以做到这一点。我将检查是否有可能绘制“两个轴”,一个有标签但没有刻度,另一个有刻度但没有标签,但我对此不抱太大希望。