2011-06-18 14 views
17

Quiero obtener una figura de Matlab usando la función bar pero cuando se dibuja la figura real en lugar de mostrar los números debajo de cada barra quiero mostrar cuál representa ese valor real trazado.Matlab - Cómo usar cadenas en lugar de números en la barra figura

Por ejemplo, yo estoy teniendo el vector x = [1 2 3] y en lugar de mostrar 1, 2 y 3 debajo de cada trazado de barras, quiero mostrar una cadena que corresponde a uno de estos valores y = {'sam'; 'alan'; 'ellie'}

enter image description here

Podría usted por favor explique cómo podría obtener esto?

Respuesta

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

enter image description here

+0

Utilizando la solución de platinummonkey incluyendo 'XTick', 1: 4 (o 1: numel (Labels)) demostró ser más robusto para mí que solo usar 'XTickLable' solo. Salir de 'XTick' provocó que las etiquetas se desplazaran en algunos casos. – Jacob

+0

@Jacob: seguro, no estaría de más especificar también 'XTick'. Aunque tengo curiosidad, ¿tienes un ejemplo en el que las etiquetas están fuera de lugar? – Amro

+0

p. figura(); espera; bar ([10 22 2 11]); Etiqueta = {'# 7', '# 8', '# 9', '# 10'}; conjunto (gca, 'XTickLabel', Etiqueta); espera – Jacob

Cuestiones relacionadas