Matlab:条形图x轴标签缺失

时间:2015-04-01 15:06:15

标签: matlab bar-chart matlab-figure

我正在使用以下代码在matlab中创建条形图。

a = [1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9]
bar(a)
set(gca,'XTickLabel',{'one','two','three','four','five','six','seven','eight','nine','zero','one','two','three','four','five','six','seven','eight','nine'})

代码工作正常,只是x轴标签没有出现在x轴上的相应位置。我该如何解决这个问题?

enter image description here

1 个答案:

答案 0 :(得分:4)

当您设置XTickLabel时,您告诉Matlab将每个刻度当前的文本替换为您提供的新文本。如果只运行前两行,您将看到默认情况下Matlab将XTicks置于0:2:20。您可以通过首先告诉Matlab为每个单独的栏添加刻度,然后重新标记这些刻度来解决问题:

a = [1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9]
bar(a)
set(gca, 'XTick', 1:length(a))
set(gca,'XTickLabel',{'one','two','three','four','five','six','seven','eight','nine','zero','one','two','three','four','five','six','seven','eight','nine'})

此时你将拥有一个非常混乱的x轴...你想要考虑使用FileExchange中的rotateXLabels函数或Matlab14b及更高版本的内置功能来旋转XTickLabels。 / p>