date time gnuplot

date - Fecha/hora Gnuplot en el eje x



time (2)

Tengo una pregunta rápida sobre fechas y horas en el eje x en GNUPLOT. Dejaré que el código hable:

Estos son mis datos:

#Time Data in Data out "2013-07-22 15:59:00" 6286 3730 "2013-07-22 15:58:00" 10695 14589 "2013-07-22 15:57:00" 17868 26464 "2013-07-22 15:56:00" 18880 34012 "2013-07-22 15:55:00" 19206 41192 "2013-07-22 15:54:00" 20365 43218 "2013-07-22 15:53:00" 18459 39298 "2013-07-22 15:52:00" 3420 4686 "2013-07-22 15:51:00" 3256 4942

Y este es el código que genera el gráfico:

gnuplot> set title "Data usage over the last 24 hours" gnuplot> unset multiplot gnuplot> set xdata time gnuplot> set style data lines gnuplot> set term png Terminal type set to ''png'' Options are ''nocrop font "arial,12" fontscale 1.0 size 640,480 '' gnuplot> set timefmt "%Y-%m-%d %H:%M:%S" gnuplot> set format x "%m-%d/n%H:%M" gnuplot> set xlabel "Time" gnuplot> set ylabel "Traffic" gnuplot> set autoscale y gnuplot> set xrange ["2013-07-21 16:00":"2013-07-22 16:00"] gnuplot> set output "datausage.png" gnuplot> plot "C://Users//blah//Desktop//plot.tmp" using 1:2 t "inbound" w lines, "C://Users//blah//Desktop//plot.tmp" u 1:3 t "outbound" w lines ^ all points y value undefined!

¿El problema es el espacio entre la date y la time en el eje x? Si no, ¿cuál crees que podría ser el problema?


Gnuplot en realidad no espera que los datos de tiempo estén entre comillas, por lo que debe decirlo:

set timefmt ''"%Y-%m-%d %H:%M:%S"''

Puede poner las comillas dobles dentro de comillas simples como hice aquí, o escapar de las comillas:

set timefmt "/"%Y-%m-%d %H:%M:%S/""

lo mismo se aplica a su especificación de xrange :

set xrange [''"2013-07-21 16:00"'':''"2013-07-22 16:00"'']

Si elimina las comillas en el archivo de datos, puede usar el formato que originalmente tenía, excepto que los números de las columnas se cambiarán por 1 ya que la fecha ocupa dos columnas sin las comillas.


Parece que la respuesta es sí, el problema fue el espacio.

haciendo esto parece arreglarlo:

set datafile separator ","

y en realidad separa los tiempos y los datos con comas.