当小数位于名称中时,Matlab标签名称不起作用

时间:2013-06-11 05:55:33

标签: matlab labels

我试图将y轴设置为从0-4开始每0.25个点有一个滴答,并且在0,0.5,1,1.5上有这些刻度的标签......

当我的数字中没有任何小数点但是在我添加0.5和1.5等时失败并出现错误时,此代码有效。

set(gca,'YTick',(0:.25:4), 'FontSize', 13)
set(gca,'YTickLabel',['0';' ';'0.5';' ';'1';' ';'1.5';' ';'2';' ';'2.5';' ';'3';' ';'3.5';' ';'4'])

这是matlab错误消息:

Error using generateWiresharkTracePlot (line 63)
Error using vertcat
Dimensions of matrices being concatenated are not consistent.

有没有人有解决方案的想法?

1 个答案:

答案 0 :(得分:3)

问题:
您正在使用

构建2D char矩阵
['0';' ';'0.5';' ';'1';' ';'1.5';' ';'2';' ';'2.5';' ';'3';' ';'3.5';' ';'4']

您正在尝试使用1个字符(例如'0')和包含3个字符的行(例如'1.5')来定义行。

解决方案1:

将所有行转换为thress chars:

[' 0 ';'   ';'0.5';'   ';' 1 ';' ';'1.5';'   ';' 2 ';'   ';'2.5';'   ';' 3 ';'   ';'3.5';' ';' 4 ']

解决方案2:

使用单元格数组而不是2D字符矩阵(注意大括号):

{'0';' ';'0.5';' ';'1';' ';'1.5';' ';'2';' ';'2.5';' ';'3';' ';'3.5';' ';'4'}

这种解决方案在概括和良好实践方面更胜一筹。