gnuplot: tracer un fichier avec 4 colonnes sur l'axe des y
j'ai un fichier qui contient 4 chiffres (min, max, moyenne, standard de dérivation) et je voudrais tracer avec gnuplot.
Exemple:
24 31 29.0909 2.57451
12 31 27.2727 5.24129
14 31 26.1818 5.04197
22 31 27.7273 3.13603
22 31 28.1818 2.88627
si j'ai 4 fichiers avec une colonne, alors je peux faire:
gnuplot "file1.txt" with lines, "file2.txt" with lines, "file3.txt" with lines, "file4.txt" with lines
et il tracera 4 courbes. Je ne me soucie pas de l'axe x, il devrait juste être un incrément constant.
Comment pourrais-je s'il vous plaît intrigue? Je n'arrive pas à trouver un moyen d'avoir 4 courbes avec 1 fichier avec 4 colonnes, l'incrémentation de la valeur de x.
je vous Remercie.
2 réponses
vous pouvez tracer différentes colonnes du même fichier comme ceci:
plot 'file' using 0:1 with lines, '' using 0:2 with lines ...
(...
moyens de poursuite). Quelques notes sur cette notation:using
spécifie la colonne à tracer, c'est-à-dire les colonnes 0 et 1 dans la première using
énoncé, la colonne 0 est une pseudo colonne qui se traduit par le numéro de ligne courant dans le fichier de données. Notez que si un seul argument est utilisé avec using
(e.g. using n
) cela correspond à dire using 0:n
(merci de le souligner mgilson).
si votre version de Gnuplot est assez récente, vous pourrez tracer les 4 colonnes avec une boucle:
set key outside
plot for [col=1:4] 'file' using 0:col with lines
Résultat:
Gnuplot peut utiliser des titres de colonne pour le titre s'ils sont dans le fichier de données, par exemple:
min max mean std
24 31 29.0909 2.57451
12 31 27.2727 5.24129
14 31 26.1818 5.04197
22 31 27.7273 3.13603
22 31 28.1818 2.88627
et
set key outside
plot for [col=1:4] 'file' using 0:col with lines title columnheader
résultat:
juste pour ajouter que vous pouvez spécifier l'incrément dans la boucle for comme troisième argument. Il est utile si vous voulez tracer chaque nième colonne.
plot for [col=START:END:INC] 'file' using col with lines
dans ce cas, cela ne change rien mais de toute façon:
plot for [col=1:4:1] 'file' using col with lines