J'ai une valeur associée à chaque jour, en tant que telle:
120530 70.1
120531 69.0
120601 69.2
120602 69.5
# and so on for 200 lines
Lorsque vous tracez ces données dans gnuplot avec des lignes, les points de données sont bien connectés. Malheureusement, à certains endroits, plus d'une semaine de points de données peuvent être manquants. Gnuplot trace de longues lignes sur ces intervalles. Comment puis-je faire en sorte que gnuplot ne connecte les points que pendant des jours consécutifs?
Les solutions qui nécessitent un prétraitement des données sont très bien, car je les lisse déjà avec un script.
Voici ce que j'utilise:
set xdata time
set timefmt "%y%m%d"
plot "vikt_ma.txt" using 1:2 with lines title "first line", \\
"" using 1:3 with lines title "second line"
Exemple:
Réponses:
Mettez un enregistrement vide (ligne vierge) où il n'y a pas de données. De la documentation :
la source
Vous pouvez utiliser n'importe quelle chaîne qui n'est pas un nombre comme valeur pour les points de données manquants ou spécifier explicitement une chaîne de données manquante à l'aide de la
set datafile missing
commande.Si vous tracez ensuite les lignes à l'aide de
alors Gnuplot laissera un espace.
la source
Vous pouvez également faire quelque chose comme ceci pour créer automatiquement des espaces lorsque la distance entre les valeurs x dépasse un certain seuil:
Vous devrez ajuster les valeurs initiales de "précédent" et "actuel", ainsi que le seuil ("7200" dans l'exemple ci-dessus).
La fonction "yornothing" utilise la fonction "shift" pour stocker une valeur précédente de x. Chaque fois que yornothing est appelé, il renvoie la valeur de y ou "0/0", selon que la valeur absolue de la différence entre x et sa valeur précédente dépasse le seuil.
Une valeur de 0/0 indique à gnuplot d'ignorer ce point.
la source