我正在使用以下代码在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轴上的相应位置。我该如何解决这个问题?
答案 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>