Ich versuche, ein Diagramm mit Gnuplot zu zeichnen. Ich habe sechs Textdateien. Jede Textdatei enthält zwei Spalten. Die erste Spalte gibt die Zeit in Sekunden an (eine Gleitkommazahl). Die zweite ist eine Sequenznummer. Ich möchte das Diagramm von Zeit und Sequenznummer in einem einzigen Diagramm für alle sechs Dateien darstellen. Ich benutze diese Datei, um das zu tun.
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"
Wo meine Dateien sind:
print_1012720
print_1058167
print_193548
print_401125
print_401275
print_401276
Es gibt einen seltsamen Fehler wie folgt:
"plot.plt", Zeile 24: undefinierte Variable: plot
Mache ich etwas falsch? Ist es möglich, die Eingabedaten aus verschiedenen Dateien im selben Diagramm darzustellen?
Antworten:
Du bist so nah!
Veränderung
zu
Der Fehler tritt auf, weil gnuplot versucht, das Wort "plot" als den zu plottenden Dateinamen zu interpretieren, aber Sie haben einer Variablen mit dem Namen "plot" keine Zeichenfolgen zugewiesen (was gut ist - das wäre sehr verwirrend).
quelle
Möglicherweise sind Gnuplots für Schleifen in diesem Fall hilfreich, wenn Sie Ihre Dateinamen oder Diagrammtitel entsprechend anpassen.
z.B
und
quelle
Replot ist eine weitere Möglichkeit, mehrere Diagramme gleichzeitig zu erhalten:
quelle