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.

25
demandé sur Wolf 2013-04-18 05:52:15

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:

for-loop plot

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:

for-loop plot with column headers

65
répondu Thor 2015-06-23 14:42:02

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
11
répondu j_s 2014-02-04 09:27:44