gnuplot

Page principale

Répondre à ce message
Auteur: Frédéric
Date:  
À: ML Guilde
Sujet: gnuplot
Bonsoir,

J'essaye de mettre en oeuvre l'idée (excellente) qui m'a été suggérée
d'utiliser gnuplot pour générer des graphes de températures depuis des
données d'une base MySQL, et j'aurais besoin de vos lumière concernant
l'affichage de l'axe du temps.

Le temps est stocké sous la forme 20060905190434 dans ma base ; j'utilise
donc l'option 'set timefmt %Y%m%d%H%M%S' pour lire cette donnée dans
gnuplot. Pour l'affichage, j'utilise l'option 'set format x week %W' dans
le cas où je veux afficher le numéro de la semaine sur un intervale total
d'un mois.

Ensuite, je limite la grille sur les semaines, via l'option 'set xtics
604800' (nombre de secondes dans une semaine). Jusque là, ça va.

Le petit soucis, c'est que je n'arrive ni à faire tomber la grille sur le
lundi, ni à faire en sorte que le numéro de la semaine apparaisse entre
les tics de la grille.

Est-ce qu'un guru saurait faire ça ?

Voici le script utilisé :

#!/bin/sh
gnuplot - <<- EOF
    set terminal png
    set output "test.png"
    set timefmt "%Y%m%d%H%M%S"
    set xdata time
    set format x "week %W"
    set xtics 604800
    set grid
    show grid
    set title "Température"
    plot "data" using 1:2 every ::2 with lines smooth csplines
EOF


J'ai attaché le graphe généré, avec les modifications que je souhaite
(position des tics sur lundi).

Merci d'avance.

PS : petite précision : je ne connais pas à priori l'intervalle utilisé ;
il sera librement défini par l'utilisateur. Et le même topo s'applique
pour l'affichage des jours dans le mode semaine, ou des mois dans le mode
année...

--
Frédéric

http://www.gbiloba.org