Gnuplot date/heure dans de l'axe x
J'ai une petite question concernant les dates et heures de l'axe des x dans GNUPLOT. Je vais laisser le code qui en parlent:
C'est 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 graphe:
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!
Est le problème de l'espace entre les date
et time
dans l'axe des x? Si non, que pensez-vous pourrait être le problème?
Vous devez vous connecter pour publier un commentaire.
Gnuplot ne fait pas s'attendre à des données en temps pour être entre guillemets, de sorte que vous avez à dire:
Vous pouvez mettre des guillemets à l'intérieur des guillemets simples, comme je l'ai fait ici, ou d'échapper les guillemets:
la même chose s'applique à votre
xrange
spécifications:Si vous supprimez les guillemets dans le fichier de données, vous pouvez utiliser la mise en forme que vous avait à l'origine, à l'exception de la colonne des numéros sera décalé par 1 depuis la date à laquelle prend deux colonnes sans les guillemets.
Il semble que la réponse est oui, le problème était l'espace.
faisant cela semble résoudre le problème:
set datafile separator ","
et en fait la séparation du temps et de données par des virgules.
Que j'ai compris, l'ordre des instructions est important, je pouvais me le permettre en utilisant:
timefmt
est pour les données et doit être la même pour xrangeformat x
est uniquement pour l'affichage