gnuplot: traçage des données de plusieurs fichiers d’entrée dans un seul graphique

J’essaie de tracer un graphique en utilisant gnuplot.J’ai 6 fichiers texte.Chaque fichier texte contient deux colonnes.La première colonne représente le temps en secondes (c’est un nombre à virgule flottante). La seconde est un numéro de séquence. graphique du temps en fonction du numéro de séquence dans un seul graphique pour les six fichiers. J’utilise ce fichier pour le faire.

set terminal png set output 'akamai.png' set xdata time set timefmt "%S" set xlabel "time" set autoscale set ylabel "highest seq number" set format y "%s" set title "seq number over time" set key reverse Left outside set grid set style data linespoints plot "print_1012720" using 1:2 title "Flow 1", \ plot "print_1058167" using 1:2 title "Flow 2", \ plot "print_193548" using 1:2 title "Flow 3", \ plot "print_401125" using 1:2 title "Flow 4", \ plot "print_401275" using 1:2 title "Flow 5", \ plot "print_401276" using 1:2 title "Flow 6" 

Où sont mes fichiers:

  • print_1012720
  • print_1058167
  • print_193548
  • print_401125
  • print_401275
  • print_401276

Il donne une erreur étrange comme ci-dessous:

“plot.plt”, ligne 24: variable non définie: plot

Est-ce que je fais quelque chose de mal? Est-il possible de tracer les données d’entrée de différents fichiers dans le même graphique.

Tu es si proche!

Changement:

 plot "print_1012720" using 1:2 title "Flow 1", \ plot "print_1058167" using 1:2 title "Flow 2", \ plot "print_193548" using 1:2 title "Flow 3", \ plot "print_401125" using 1:2 title "Flow 4", \ plot "print_401275" using 1:2 title "Flow 5", \ plot "print_401276" using 1:2 title "Flow 6" 

à:

 plot "print_1012720" using 1:2 title "Flow 1", \ "print_1058167" using 1:2 title "Flow 2", \ "print_193548" using 1:2 title "Flow 3", \ "print_401125" using 1:2 title "Flow 4", \ "print_401275" using 1:2 title "Flow 5", \ "print_401276" using 1:2 title "Flow 6" 

L’erreur est parce que gnuplot essaie d’interpréter le mot “plot” comme nom de fichier à tracer, mais vous n’avez assigné aucune chaîne à une variable nommée “plot” (ce qui est bien – ce serait déroutant).

Vous trouverez peut-être que les boucles pour gnuplot sont utiles dans ce cas, si vous ajustez correctement vos noms de fichiers ou titres de graphique.

par exemple

 filenames = "first second third fourth fifth" plot for [file in filenames] file."dat" using 1:2 with lines 

et

 filename(n) = sprintf("file_%d", n) plot for [i=1:10] filename(i) using 1:2 with lines 

replot est une autre façon d’obtenir plusieurs tracés à la fois:

 plot file1.data replot file2.data