Date/Heure de Gnuplot dans l'axe des x
j'ai une question rapide concernant les dates et heures dans X-axis dans GNUPLOT. Je vous laisse le code de parler:
Voici mes données:
#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
Et c'est le code qui génère le graphique:
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-%dn%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:UsersblahDesktopplot.tmp" using 1:2 t "inbound" w lines, "C:UsersblahDesktopplot.tmp" u 1:3 t "outbound" w lines
^
all points y value undefined!
le problème Est l'espace entre date
et time
dans l'axe des x? Si non, que pensez-vous pourrait être le problème?
2 réponses
gnuplot ne s'attend pas à ce que les données de temps soient entre guillemets, donc vous devez lui dire:
set timefmt '"%Y-%m-%d %H:%M:%S"'
vous pouvez mettre les guillemets doubles dans les guillemets simples comme je l'ai fait ici, ou échapper aux guillemets:
set timefmt "\"%Y-%m-%d %H:%M:%S\""
la même chose s'applique à votre xrange
spécifications:
set xrange ['"2013-07-21 16:00"':'"2013-07-22 16:00"']
si vous supprimez les guillemets dans le fichier de données, alors vous pouvez utiliser le formatage que vous aviez à l'origine, sauf que les numéros de colonne seront décalés de 1 puisque la date prend deux colonnes sans les guillemets.
Il semble que la réponse est oui, le problème était l'espace.
en faisant cela semble résoudre le problème:
set datafile separator ","
et en fait séparer les temps et les données avec des virgules.