2011-04-28 36 views
45

Al usar flot, me gustaría tener un eje x basado en cuerdas. Por ejemplo, tengo una lista de clientes "Bob", "Chris", "Joe" y me gustaría trazar sus ingresos en el Y-Axis. (esto es un gráfico de barras)Flot con el eje x de "Cadena"

Parece que a primera vista flot solo admite tipos numéricos en el eje x. ¿Es esto cierto?

Respuesta

81

@Matt está cerca, pero que tendría más sentido utilizar sólo la ticks opción para especificar directamente lo que las garrapatas debe tener lo que las etiquetas:

var options = { 

... 
    xaxis: { 
    ticks: [[0,'Bob'],[1,'Chris'],[2,'Joe']] 
    } 
... 

}; 

EDITAR: parece que this (he añadido más datos que las etiquetas, pero Y tienes la idea).

+2

También hay un complemento de "categorías": http://www.flotcharts.org/flot/examples/categories/ - pero no he podido obtener las etiquetas adecuadas en el eje x por ahora:/ –

+0

@Ryley +1 ese violín fue muy útil gracias mucho – Pricey

+0

jsFiddle no funciona – Aheho

15

Debería poder hacer esto usando la opción tickFormatter según this question. No he probado a mí mismo, sino dar a este un tiro:

var xAxisLabels = ['Bob', 'Chris', 'Joe'];  
function xAxisLabelGenerator(x){ 
    return xAxisLabels[x]; 
} 

var plot = $.plot($("#placeholder"), { 
    // snip other options... 
    xaxis: { 
     transform: xAxisLabelGenerator, 
     tickFormatter: xAxisLabelGenerator 
    } 
}); 

Esto significa que los valores de x real debe ser 0, 1, 2, ...

+0

+1 - Puede que no haya sido la respuesta elegida (que también volví a subir) pero esto es muy útil. –

+0

el parámetro x en su generador de etiquetas, ¿de dónde viene eso? –

+0

@KasperSkov flot pasa el parámetro a la devolución de llamada que especifique. –

15

Las categorías de plugins (jquery.flot.categories.js) va a hacer esto bastante bien, por lo que los datos pueden ser formateados como esto:

var data = [ ["January", 10], ["February", 8], ["March", 4], ["April", 13], ["May", 17], ["June", 9] ]; 

y la trama de esta manera: enter image description here

Ver : http://www.flotcharts.org/flot/examples/categories/index.html

+0

¡Funcionó como un amuleto! –

Cuestiones relacionadas