2015-04-01 195 views
1

我正在使用以下代碼在matlab中創建條形圖。Matlab:條形圖x軸標籤丟失

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

+0

他們的相應位置是什麼?標籤似乎坐在刻度標記對我... – kkuilla 2015-04-01 15:09:30

+0

[This](http://stackoverflow.com/questions/23746964/x-axis-label-on-two-rows/23747408#23747408)可能是鼓舞人心的足以解決這個問題。 – Divakar 2015-04-01 15:57:16

回答

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。