J'ai le fichier de données suivant, nommé ls.dat
:
# Gnuplot script file for "ls"
# Version Removed Added Modified
8.1 0 0 0
8.4 0 0 4
8.5 2 5 9
8.6 2 7 51
8.7 2 7 51
8.8 2 7 51
8.9 2 7 51
8.10 2 7 51
8.11 2 8 112
8.12 2 8 112
8.13 2 17 175
8.17 6 33 213
J'essaye de comploter avec ceci:
plot "ls.dat" using 1:2 title 'Removed' with lines,\
"ls.dat" using 1:3 title 'Added' with lines,\
"ls.dat" using 1:4 title 'Modified' with lines
Ceci produit le graphique suivant:
Ce que j'attends, ce sont des parcelles de trois lignes qui devraient toutes augmenter, mais à des taux différents. Quelqu'un peut-il voir ce qui se passe ici? Je suis sûr que ce doit être quelque chose de très bête.
Je pense que votre problème est votre numéro de version. Essayez de faire 8.1 -> 8.01, et ainsi de suite. Cela devrait mettre les points dans le bon ordre.
Vous pouvez également tracer using X
, où X est le numéro de colonne souhaité, au lieu de using 1:X
. Cela va tracer ces valeurs sur l’axe des y et les entiers sur l’axe des x. Essayer:
plot "ls.dat" using 2 title 'Removed' with lines, \
"ls.dat" using 3 title 'Added' with lines, \
"ls.dat" using 4 title 'Modified' with lines
andyras est complètement correct. Un ajout mineur, essayez ceci (par exemple)
plot 'ls.dat' using 4:xtic(1)
Ceci maintiendra votre fichier de données dans le bon ordre, mais conservera également vos étiquettes de version sur l’axe des x.
En plus des réponses ci-dessus, la commande ci-dessous fonctionnera également. Je le poste parce que cela a plus de sens pour moi. Dans chaque cas, il s'agit de 'utiliser x-value-column: y-value-column'
plot 'ls.dat' using 1:2, 'ls.dat' using 1:3, 'ls.dat' using 1:4
Quel que soit votre séparateur dans votre ls.dat, vous pouvez le spécifier dans gnuplot :
set datafile separator "\t"