2011-06-18 11 views
17

ben ama bar işlevini kullanarak bir Matlab rakamı elde etmek istiyorum çubuk şekildeki dizeleri yerine numaraları kullanma o gerçek değerini temsil eder çizilen.Matlab - gerçek rakamın bunun yerine hangi görüntülemek istediğiniz her çubuğunun altında numaralarını görüntüleme çizildiğinde

Mesela ben vektör x = [1 2 3] yaşıyorum ve bunun yerine bar çizilen her altından 1, 2 ve 3 gösteren, ben bu değerlerden biri karşılık gelen bir dize görüntülemek istediğiniz y = {'sam'; 'alan'; 'ellie'}

enter image description here

Acaba lütfen bunu nasıl temin edebilirim?

cevap

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

enter image description here

+0

için YTickLabel sonra Y-etiketleri değiştirmek yerine gerekirse, 1: 4 (veya 1: numel (Labels)), sadece 'XTickLable' kullanıyorum. 'XTick'i bırakmak, bazı durumlarda etiketlerin yer değiştirmesine neden oldu. – Jacob

+0

@Jacob: "XTick" i belirtmek de incinmez. Yine de merak ediyorum, etiketlerin yanlış yerleştirildiği bir örneğiniz var mı? – Amro

+0

, ör. şekil(); beklemeye alın; bar ([10 22 2 11]); Label = {'# 7', '# 8', '# 9', '# 10'}; set (gca, 'XTickLabel', Etiket); – Jacob