Gráfico de líneas de jQuery Flot con mes, año en el eje x

Estoy tratando de generar una gráfica con mes, año en el eje x. Por favor, marque abajo para ex

introduzca la descripción de la imagen aquí

Los datos para el gráfico se obtienen a través de ajax. Por favor revise a continuación para muestra json:

{"total":[[2013,4,0],[2013,5,0],[2013,6,0],[2013,7,0],[2013,8,0],[2013,9,0],[2013,10,475],[2013,11,0],[2013,12,0],[2014,1,367],[2014,2,0],[2014,3,0]],"critical":[[2013,4,0],[2013,5,0],[2013,6,0],[2013,7,0],[2013,8,0],[2013,9,0],[2013,10,0],[2013,11,0],[2013,12,0],[2014,1,1],[2014,2,0],[2014,3,0]],"high":[[2013,4,0],[2013,5,0],[2013,6,0],[2013,7,0],[2013,8,0],[2013,9,0],[2013,10,20],[2013,11,0],[2013,12,0],[2014,1,20],[2014,2,0],[2014,3,0]],"medium":[[2013,4,0],[2013,5,0],[2013,6,0],[2013,7,0],[2013,8,0],[2013,9,0],[2013,10,24],[2013,11,0],[2013,12,0],[2014,1,135],[2014,2,0],[2014,3,0]],"low":[[2013,4,0],[2013,5,0],[2013,6,0],[2013,7,0],[2013,8,0],[2013,9,0],[2013,10,42],[2013,11,0],[2013,12,0],[2014,1,26],[2014,2,0],[2014,3,0]]} 

En el ejemplo anterior [2013,4,0] se debería traducir al eje x: abril de 2013, eje y: 0.

¿Puedes por favor dejarme saber cómo puedo lograr esto?

Gracias.

Así es como lo haría:

 // your JSON obj = {"total":[[2013,4,0],[2013,5,0],[2013,6,0],[2013,7,0],[2013,8,0],[2013,9,0],[2013,10,475],[2013,11,0],[2013,12,0],[2014,1,367],[2014,2,0],[2014,3,0]],"critical":[[2013,4,0],[2013,5,0],[2013,6,0],[2013,7,0],[2013,8,0],[2013,9,0],[2013,10,0],[2013,11,0],[2013,12,0],[2014,1,1],[2014,2,0],[2014,3,0]],"high":[[2013,4,0],[2013,5,0],[2013,6,0],[2013,7,0],[2013,8,0],[2013,9,0],[2013,10,20],[2013,11,0],[2013,12,0],[2014,1,20],[2014,2,0],[2014,3,0]],"medium":[[2013,4,0],[2013,5,0],[2013,6,0],[2013,7,0],[2013,8,0],[2013,9,0],[2013,10,24],[2013,11,0],[2013,12,0],[2014,1,135],[2014,2,0],[2014,3,0]],"low":[[2013,4,0],[2013,5,0],[2013,6,0],[2013,7,0],[2013,8,0],[2013,9,0],[2013,10,42],[2013,11,0],[2013,12,0],[2014,1,26],[2014,2,0],[2014,3,0]]}; // reformat into the format flot likes seriesData = []; for (var prop in obj) { // push in the series, the "property" is the label // use $.map to produce an array of [date, y-value] // the new Date(i[0],i[1]-1).getTime(), // will give you the epoch time for the first day of that month/year seriesData.push({label: prop, data:$.map(obj[prop], function(i,j){ return [[new Date(i[0],i[1]-1).getTime(), i[2]]]; })}); } // plot it! $.plot("#placeholder", seriesData, { xaxis: { mode: "time", timeformat: "%b %Y" } }); 

Violín aquí

Edición: Se cambió j por i[2] para mostrar los datos correctamente trazados.

En las opciones:

 xaxis: {mode: "time", timeformat: "%b %m"} 

Usando el plugin de tiempo .

Los datos se deben convertir en marcas de tiempo como se explica en el enlace. Como tienes 0 en el día, tal vez algo como:

 tstamp = new Date(dat[0]*1000*3600*24*30*12+dat[1]*1000*3600*24*30)