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

Linienpunkt

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

Iterierte Handlung

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

Die Beispieldarstellung


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)


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow