web-dev-qa-db-ja.com

Matlab-棒グラフで数字の代わりに文字列を使用する方法

bar関数を使用してMatlabの図を取得したいのですが、各棒の下に数値を表示する代わりに実際の図をプロットする場合、プロットする実際の値を表す表示したいです。

たとえば、ベクトルx = [1 2 3]そして、プロットされた各バーの下に1、2、3を表示する代わりに、これらの値の1つに対応する文字列を表示したいy = {'sam'; 'alan'; 'ellie'}

enter image description here

どうやってこれを手に入れられるのか説明して頂けませんか?

18
Simon
x = [1 2 3];
str = {'sam'; 'alan'; 'ellie'};
bar(x)
set(gca, 'XTickLabel',str, 'XTick',1:numel(str))

enter image description here

22
Amro

http://www.mathworks.com/matlabcentral/newsreader/view_thread/21178

Labels = {'a', 'b', 'c', 'd'};
set(gca, 'XTick', 1:4, 'XTickLabel', Labels);

yラベルを変更する必要がある場合は、XTickLabelをYTickLabelに置き換えます。

6
platinummonkey