J'essaie de tracer un graphique à l'aide de gnuplot.J'ai 6 fichiers texte.Chaque fichier texte contient deux colonnes. La première colonne représente le temps en secondes (il s'agit d'un nombre à virgule flottante). graphique du temps vs 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
Cela 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 due au fait que gnuplot essaie d'interpréter le mot "plot" comme le nom du fichier à tracer, mais vous n'avez assigné aucune chaîne à une variable nommée "plot" (ce qui est bien - ce serait très déroutant).
Vous trouverez peut-être que les boucles for gnuplot sont utiles dans ce cas, si vous ajustez les noms de fichiers ou les titres de graphes de manière appropriée.
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 un autre moyen d’obtenir plusieurs parcelles à la fois:
plot file1.data
replot file2.data