Quiero obtener una Matlab figura mediante la bar función pero cuando la figura se traza en lugar de mostrar los números debajo de cada barra quiero mostrar lo que representa que el valor real que representa.

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

Matlab - Cómo usar cadenas en lugar de números en la barra de la figura

Podría por favor explicar cómo podría obtener de esto?

InformationsquelleAutor Simon | 2011-06-18

2 Comentarios

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

    Matlab - Cómo usar cadenas en lugar de números en la barra de la figura

    • El uso de platinummonkey de la solución, incluyendo ‘XTick’, 1:4 (o 1:numel(Etiquetas), resultó ser más robusto para mí que sólo el uso de ‘XTickLable’ solo. Dejando fuera ‘XTick’ causado las etiquetas a ser desplazadas en algunos casos.
    • seguro, no estaría de más también especificar XTick. Tengo curiosidad, aunque, ¿tiene usted un ejemplo de que las etiquetas están fuera de lugar?
    • por ejemplo, la figura(); hold on; bar([10 22 2 11]); Etiqueta={‘#7′,’#8′,’#9′,’#10’}; set(gca, ‘XTickLabel’, Etiqueta); hold off
    • Funciona si haces esto: la figura(); hold on; bar([10 22 2 11]); Etiqueta={‘#7′,’#8′,’#9′,’#10′}; set(gca,’XTick’,1:numel(Etiqueta), ‘XTickLabel’, Etiqueta); hold off
    • ah veo, el buen ejemplo. Ejecute el código de una instrucción a la vez, y vas a encontrar que hold on es la causa del problema; se crea un eje con defecto marcas de graduación, entonces cuando se agrega la barra de la parcela a la que, al parecer, se intenta mantener el mismo número de garrapatas. En este punto, etiquetas personalizadas son aplicados en la rotación (reutilizados), ya que ahora tiene más marcas de etiquetas correspondientes. Estoy actualizando mi respuesta, gracias de Jacob.

Dejar respuesta

Please enter your comment!
Please enter your name here