设置YTickLabel matlab

时间:2015-01-20 19:27:51

标签: matlab matlab-figure axis-labels

我在YTickLabel中无法理解的错误:

h2=bar(myData);
ylabels=['1';'1.5';'2';'2.5';'3'];
set(gca,'XTickLabel',applicationNames),'XTick',applicationNames),'YTickLabel',ylabel));

p.s:我也试过这个但没有成功:

ax=gca
ax.YTickLabel=['1';'1.5';'2';'2.5';'3'];

我收到此错误:

Error using vertcat
Dimensions of matrices being concatenated are not consistent.

1 个答案:

答案 0 :(得分:1)

您正在尝试创建一个字符数组。在这种情况下,您尝试创建一个2D矩阵,其中列数应具有相同的字符数,行数表示您拥有的标签数。对于字符串,每列的最大字符数为三(数字/点/数字)。因为您的字符长度只有1(即只是一个数字),所以会出现不一致的连接错误,因为它期望所有字符在数组中的长度为3。

您实际需要使用的是单元格数组,以适应每个y刻度标签的不定大小。因此:

ax.YTickLabel={'1';'1.5';'2';'2.5';'3'};

或者,因为您的标签是数字,所以您只需使用数字数组:

ax.YTickLabel = [1;1.5;2;2.5;3];

如果要将x和/或y轴标记为除数字之外的其他内容,则使用单元格数组。可以使用文本标记y轴,例如:

ax.YTickLabel = {'John'; 'Paul'; 'George'; 'Ringo'; 'The Beatles'};