GNUPlot

Was ist GNUPlot

GNUPlot ist ein interaktives, kommanodzeilengesteuertes Werkzeug zur Darstellung von Funktionen. GNUPlot verarbeitet neben der Eingabe von der Konsole auch Daten aus Textdateien.

GNUPlot kann vorgefertigte "Skripte" abarbeiten (Achtung: GNUPlot hat keine Programmiersprache in diesem Sinn, sondern kann nur eine Folge von unidirektionalen Anweisungen ausführen!).

GNUPlot erlaubt die Konfiguration der Achsen (Namensgebung und Skalierung) sowie die Speicherung der generierten Ausgaben in Dateien (PostScript, LaTex picture).

(Links zu FAQ, Demos, Einbindung in LaTeX, Handbüchern, Archiven, bekannten Fehlern, Mailinglisten)

Wie funktioniert GNUPlot

GNUPlot wird durch den Aufruf "gnuplot" oder "gnuplot scriptname" gestartet.
Im ersten Fall meldet sich GNUPlot mit einer Eingabeaufforderung

gnuplot>

An dieser Stelle bekommt man mit

help

Information zu den verschiedenartigen Plotbefehlen mit ihren Parametern. Umfassende Information über GNUPlot liefert eine ausführliche Beschreibung

Oft ist der Plotbefehl

plot {bereich} {funktion | "dateiname" {using spalten}} {titel "titel"} {with stil}, ...

ausreichend, mit ihm kann man entweder eine Funktion:

plot [Zeit=-6.2:4.34] [-2:1.5] sin(Zeit) with lines

eine Kurve mit gegebenen Stützstellen:

plot [Zeit=-6.2:4.34] [-2:1.5] 'sin.dat' using 2:3 with lines

sin.dat:
0 -6.2000000  0.0830894
1 -5.0288889  0.9503306
2 -3.8577778  0.6565118
3 -2.6866667 -0.4393958
4 -1.5155556 -0.9984746
5 -0.3444444 -0.3376738
6  0.8266667  0.7356777
7  1.9977778  0.9102200
8  3.1688889 -0.0272928
9  4.3400000 -0.9314608

oder eine Überlagerung von Kurven:

plot [Zeit=-6.2:4.34] [-2:1.5] 'sin.dat' using 2:3 with lines, sin(Zeit) with lines

zeichnen. Die Titel können auch vor dem Aufruf von plotmit dem Befehl set gesetzt werden.

set title 'Zeit-Spannungsdiagramm'
set xlabel 'Zeit'
set ylabel 'Spannung'

Soll die Ausgabe auf eine Datei umgeleitet werden, so müssen lediglich die Befehle

set output dateiname
set terminal postscript

eingeben werden.

Um GNUPlot aus einem Programm heraus zu rufen können, können die GNUPlot Befehle

  1. entweder direkt "gepiped" werden

    echo "set terminal postscript;\
    set output 'sin.ps';\
    plot [Zeit=-6.2:4.34] [-2:1.5] 'sin.dat' using 2:3 with lines"\
    | gnuplot

    (in diesem Fall wird die Ausgabe auf das "PostScript"-Terminal (Ausgabegerät), genauer in die Datei "sin.ps" umgelenkt)
    oder

  2. es wird eine "Skript" Datei erstellt

    MyPlot.gnuplot:
    set xlabel 'Zeit'
    set ylabel 'Spannung'
    set title 'Zeit-Spannungsdiagramm'
    set output dateiname
    set terminal postscript
    plot [Zeit=-6.2:4.34] [-2:1.5] 'sin.dat' using 2:3 with lines, sin(Zeit) with lines

    GNUPlot wird dann einfach mit

    gnuplot MyPlot.gnuplot

    aufgerufen (das kann natürlich auch wieder aus einem Programm heraus geschehen).

Front-Ends

Für GNUPlot existieren verschiedene grafische Front-Ends. Zur Zeit installiert auf der hera ist xgfe, ein Qt basiertes Front-End.

FVTK, 23.06.99, N. Schmeißer
FZR Homepage