L'information que tu as trouvé sur le web concernant l'impossibilité d'utiliser plusieurs formats de temps différents est à la fois la source et la clé du problème.
La version de développement (en cvs) de gnuplot donne l'indication suivante concernant les formats d'heure et date :
Internally all times and dates are converted to the number of seconds from the year 2000. The command set timefmt defines the format for all inputs: data files, ranges, tics, label positions---in short, anything that accepts a data value must receive it in this format. Since only one input format can be in force at a given time, all time/date quantities being input at the same time must be presented in the same format. Thus if both x and y data in a file are time/date, they must be in the same format.
Ainsi, il faut que tu t'arranges pour que tes données heure/date soient toutes dans le même format. En pratique, ça donne ça :
Ca prend trois secondes avec un éditeur de texte, où tu remplaces "/05 " par "/05_00:00 01/01/05". Ainsi, les deux colonnes sont dans le même format.
Pourquoi mettre toute la deuxième colonne à la même date ? Parce que ce qui t'intéresse, c'est justement l'heure, mais que gnuplot prend en compte la donnée d'ensemble heure+date. (La commande 'set format ...' n'influe que sur la façon dont les échelles sont affichées en abscisse et ordonnée, les 'labels').
A quoi doit ressembler ton fichier de script ?
Pratiquement inchangé, à ceci près que tu n'appelles qu'une fois "set timefmt ...". J'ai utilisé le script suivant :
set xdata time
set ydata time
set timefmt "%d/%m/%y_%H:%M"
set xrange ["01/01/05_00:00":"31/12/05_00:00"]
set format x "%d/%m"
set format y "%H:%M"
set missing 'NaN'
set title "Time of measurement - 2005"
set xlabel "Days"
set ylabel "Time"
set autoscale y
plot 'th.txt' using 1:2 notitle with lines
# Tu as trouvé toi-même la réponse !
Posté par tipote . En réponse au message Gnuplot : heure en fonction du jour ?. Évalué à 2.
La version de développement (en cvs) de gnuplot donne l'indication suivante concernant les formats d'heure et date :
Ainsi, il faut que tu t'arranges pour que tes données heure/date soient toutes dans le même format. En pratique, ça donne ça :
Le fichier de données original :
Il doit s'écrire :
Ca prend trois secondes avec un éditeur de texte, où tu remplaces "/05 " par "/05_00:00 01/01/05". Ainsi, les deux colonnes sont dans le même format.
Pourquoi mettre toute la deuxième colonne à la même date ? Parce que ce qui t'intéresse, c'est justement l'heure, mais que gnuplot prend en compte la donnée d'ensemble heure+date. (La commande 'set format ...' n'influe que sur la façon dont les échelles sont affichées en abscisse et ordonnée, les 'labels').
A quoi doit ressembler ton fichier de script ?
Pratiquement inchangé, à ceci près que tu n'appelles qu'une fois "set timefmt ...". J'ai utilisé le script suivant :
et j'obtiens le résultat attendu : http://tipote.free.fr/time.png
En conclusion, gnuplot, c'est formidable !