【问题标题】:Set the labels between xticks设置 xticks 之间的标签
【发布时间】:2015-11-06 14:56:24
【问题描述】:

我想在刻度之间放置标签,否则有些标签会相互重叠。

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'})

有人可以帮帮我吗?

【问题讨论】:

  • 感谢编辑。 “C”与“I”重叠。
  • 你考虑过扩大你的身材吗?

标签: matlab plot labels


【解决方案1】:
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'})

您可以使用axes properties,尤其是刻度值和标签部分中的那些,但我看不出有一种方法可以将刻度位置与其对应的标签解耦。

【讨论】:

  • 谢谢,但是这个方法也会改变刻度位置。
  • @user5254599 是的,我就是这么说的这样做的方法,除了我展示的。我会检查是否可以绘制“两个轴”,一个有标签没有刻度,一个有刻度没有标签,但我对此不抱太大希望。
【解决方案2】:

我经常遇到这个问题,但有一个非常简单的解决方案...只需在标签前面用空格填充!不一定全部……只是那些需要移动的。每当您需要对文本注释进行细微调整(例如使用“箭头”、“文本”等)时,这都是一个很好的技巧

例子:

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)),它们看起来是两个不同的标签。

【讨论】:

    猜你喜欢
    • 2017-09-28
    • 2016-06-24
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 2017-11-25
    • 2017-04-10
    相关资源
    最近更新 更多