Gnuplot
Grundlegendes Plotten von Dateien
Suche…
Einführung
Eine der wichtigsten Funktionen von gnuplot ist die Möglichkeit, Datendateien zu zeichnen. Das Zeichnen einer Datendatei ist mit gnuplot sehr einfach. Nachdem Sie die Software vom Terminal aus geöffnet haben, müssen Sie nur den Befehl plot 'file'
um eine automatische Zeichnung zu erhalten.
Vor dem Plotten müssen Sie sich unbedingt im selben Verzeichnis befinden, in dem sich die Datendatei befindet. Andernfalls erhalten Sie eventuell eine warning
.
Syntax
- Zeichnen Sie die Datendatei mit column_expression mit Stil auf
Plotten Sie eine einzelne Datendatei
Der Standard gnuplot Befehl plot
(auch nur p
) Plot Datensatz mit Spalten, von der Form der data_set.dat
Datei unten.
# Prototype of a gnuplot data set
# data_set.dat
# X - X^2 - 2*X - Random
0 0 0 5
1 1 2 15
1.4142 2 2.8284 1
2 4 4 30
3 9 6 26.46
3.1415 9.8696 6.2832 39.11
4 16 8 20
4.5627 20.8182 9.1254 17
5.0 25.0 10.0 25.50
6 36 12 0.908
Wie Sie sehen, können Sie Ihre Daten in Fließkommazahl schreiben. Jetzt ist alles bereit, um die Datendarstellung zu erstellen: nur durch Eingabe
plot "data_set.dat"
gnuplot erstellt eine Grafik in Ihrem output
. In den Standardeinstellungen werden die ersten beiden Spalten Ihrer Datendatei verwendet, nämlich x und y. Verwenden Sie zur Angabe der zu plottenden Spalten den using
Bezeichner
plot "data_set.dat" using 2:4
was bedeutet "Plotten Sie die Datei mit Spalte 2 als X und Spalte 4 als Y". Falls es sich bei Ihrem Datensatz um eine dreidimensionale Datei handelt, verwenden Sie einfach splot
Anzeige und fügen Sie die Z-Spalte hinzu
splot "data_set.dat" using 1:2:3
Es gibt auch einen anderen Stil (siehe Gnuplot-Dokumentation oder Auswählen eines Plotstils für weitere Infos) zum Plotten von Punkten. Wie bereits erwähnt, ist der Standardstil point
plot "data_set.dat" using 1:4 with point
Das wird das Gleiche darstellen, als würden Sie nicht with point
. Ein nützlicher Stil für das linespoint
Daten ist der linespoint
, der offensichtlich "Linien + Punkte" ist. Z.B:
plot "data_set.dat" using 1:4 with linespoint
# the abbreviated form is completely equivalent:
# p "data_set.dat" u 1:4 w lp
Formen der Plotiteration
Im Fall haben Sie mehr Spalten und wollen , dass sie alle in der gleichen Grafik zeichnen , um den Pass nur plot
Funktion jedes Argument Sie es vorziehen, indem man sie mit einem Trenn ,
:
p "data_set.dat" u 1:2 w lp,\
"data_set.dat" u 1:3 w lp,\
"data_set.dat" u 1:4 w lp
Manchmal gab es manchmal zu viele Spalten, um eine nach der anderen zu schreiben. In diesen Fällen sind die Ergebnisse for
Iterationsschleife sehr nützlich:
p for [col = 2:4] "data_set.dat" using 1:col w lp
was gibt die Ausgabe
Kurz die for
Iteration der Variable in der Schleife erhöht, in diesem Fall col
, mit einem entschiedenen Schritten (wenn nicht = 1 angegeben). Zum Beispiel wird for [i = 0:6:2]
i
in 2 Schritten von 0 auf 6 erhöht: i = 0, 2, 4, 6
. Alle Werte (Start, Stopp und Inkrement) werden in Ganzzahlwerte umgewandelt.
* Gitter
Das Raster ist oft nützlich, wenn Sie einen Datensatz zeichnen. Einen Gittertyp hinzufügen
set grid
Mehrere Dateien zeichnen
Erste Methode - Verkettung von Strings
Die einfachste Methode zum Zeichnen mehrerer Dateien ist das Einfügen einer for
Schleife in den plot
Befehl von gnuplot. Angenommen, Sie haben N
Dateien nacheinander benannt, dh
file_1.dat
file_2.dat
file_3.dat
...
file_N.dat
Befehl ausführen
plot for[i = 1:N] "file_".i.".dat"
file_1.dat
alle Dateien zwischen file_1.dat
und file_N.dat
in derselben Grafik.
Beispiel mit drei Dateien
Tabelle der Datensätze
X-Achsen | Y-Axe Datei_1.dat | Y-Axe file_2.dat | Y-Axt file_3.dat |
---|---|---|---|
1 | 1 | 1 | 1 |
2 | 2 | 4 | 2 |
3 | 3 | 9 | 6 |
4 | 4 | 16 | 24 |
5 | 5 | 25 | 120 |
Befehle
set terminal postscript color noenhanced ##setting the term
set output "multiple_files.ps"
set key center ##legend placement
plot [1:5][1:120] \
for [i = 1:3] "file_".i.".dat" \
pointsize 1.3 linecolor i+4 \
title "file\_".i.".dat" \
with linespoint
Die Schleife beginnt mit for [i = 1:3] "file_".i.".dat"
und führt den plot
bis i = 3
. Die .i.
ist die verkettete Nummer.
title "file\_".i.".dat"
wurde mit dem \
geschrieben, damit das _
Symbol im Namen der Dateien als Unterstrich und nicht als Index noenhanced
wird .
Das Endergebnis ist unten gezeigt
Zweite Methode - sprintf
Funktion verwenden
Ein anderer möglicher Weg ist die Verwendung der sprintf
Funktion, die im Wesentlichen genauso wie die sprintf
C-Sprache sprintf
. Die richtige Syntax ist aus der gnuplot 5.1 Dokumentation
sprintf("format", x, y, ...)
Ein kurzes Beispiel wird jeden Zweifel klären.
file_name(n) = sprintf("file_%d.dat", n)
plot for[i = 1:N] file_name(i) title file_name(i)