Kurzeinf uhrung in GNUPLOT

Die Seite wird erstellt Lara Schütz
 
WEITER LESEN
Kurzeinführung in GNUPLOT
                             Johannes Schneider
                                   9.12.2004

1    Einführung
Gnuplot verfügt über ein gutes Hilfe-System: help Kommando
Es ist ein sehr einfaches Programm, mit dem sich leicht Funktionen oder Daten aus
Dateien zeichnen lassen, z.B.
plot sin(x)
plot "a.dat"
Beim Plotten versucht Gnuplot stets eine möglichst gute Wahl der Einstellungen
automatisch zu finden. Man kann diese Einstellungen aber auch selbst vornehmen
und damit die Gnuplot-Einstellungen überschreiben.

2    Zweidimensionale Darstellung von Meßdaten
Mit dem Befehl
plot "a.dat"
werden standardmäßig die Daten der zweiten Spalte gegen die Daten in der ersten
Spalte aufgetragen. Enthält die Datei nur eine Spalte, so werden die Werte dieser
Spalte gegen ihre Indizes aufgetragen, wobei die niedrigste Indexnummer 0 ist.
Will man nun dagegen z.B. die Daten in der vierten gegen die in der zweiten Spalte
auftragen, so hat man einzugeben:
plot "a.dat" using 2:4
Dabei kann man auch Gnuplot rechnen lassen: man kann beispielsweise die Summe
der Spalten 1 und 5 gegen das Produkt der Spalten 2 und 3 auftragen:
plot "a.dat" using ($2*$3):($1+$5)
Normalerweise zeichnet Gnuplot die Daten als Punkte. Wenn man stattdessen Linien
verwenden will, so muß man z.B.
plot "a.dat" using 2:4 with lines

                                        1
eingeben, sollen auch noch die Datenpunkte gezeichnet werden, so gibt man
plot "a.dat" using 2:4 with linespoints
ein. Sollen die Punkte dagegen die Höhe der Balken in einem Histogramm angeben,
so lautet der Befehl:
plot "a.dat" using 2:4 with boxes
In der rechten oberen Ecke zeigt Gnuplot an, aus welcher Datei und gegebenenfalls von
welchen Spalten die Daten stammen. Diese Anzeige kann man ebenfalls beeinflussen:
plot "a.dat" using 2:4 title "Energie" with linespoints
Will man keine derartige Anzeige haben, so schreibt man:
plot "a.dat" using 2:4 notitle with linespoints
Man kann auch Datenpunkte mit Fehlerbalken ausgeben, wobei es hierfür zwei ver-
schiedene Möglichkeiten gibt: bei der Verwendung von
plot "a.dat" using 1:2:3 with errorbars
muß in der zweiten Spalte der Mittelwert und in der dritten der absolute Fehler stehen,
bei der Verwendung von
plot "a.dat" using 1:2:3:4 with errorbars
steht in der zweiten Spalte der Mittelwert, in der dritten der untere Wert für den
Fehlerbalken und in der vierten der obere Wert für den Fehlerbalken.
Man kann auch verschiedene Datensätze übereinander plotten:
plot "a.dat","b.dat"
Gnuplot stellt diese verschiedenen Datensätze mit unterschiedlichen Farben, Sym-
bolen und eventuell Linienarten dar. Diesen Farben/Linienarten und Symbolen sind
Nummern zugeordnet, über die man auch andere Einstellungen wählen kann, z.B.:
plot "a.dat" 3 5,"b.dat" 6 7
Selbstverständlich kann man auch mehrfach Daten aus der gleichen Datei verwenden,
z.B.:
plot "a.dat" using 1:2 title "Energie" with linespoints 1 1, \
     "a.dat" using 1:2:3 notitle with errorbars 1 1
Hier werden die Fehlerbalken noch mit Linien verbunden.

                                          2
3     Abänderung der automatischen Einstellungen
Wie bereits gesagt, verändert Gnuplot immer wieder automatisch seine Einstellungen,
um die Daten bestmöglich darstellen zu können. Manchmal möchte man jedoch eine
andere Auftragung haben bzw. etwas zur Darstellung hinzufügen. Diese zusätzlichen
Einstellungen kann man mit dem set-Kommando angeben. Von der Eingabe dieses
Kommandos an ist die entsprechende Gnuplot-Einstellung überschrieben. Man muß
also später ebenfalls diese Einstellung von Hand ändern, wenn man wieder andere
Sachen zeichnen möchte.
Die wichtigsten Einstellungen sind die folgenden:
set   title "Energie-Temperatur-Diagramm" # setzt den Titel
set   xlabel "Temperatur" # setzt die x-Achsenbeschriftung
set   ylabel "Energie"    # setzt die y-Achsenbeschriftung
set   xrange [0.1:4.5]    # setzt den x-Bereich
set   yrange [-2:0]       # setzt den y-Bereich
set   autoscale           # entfernt die xrange- und yrange-Einstellungen
set   xtics 0,0.5 # beschriftet die x-Achse mit 0.5, 1.0, 1.5, ..., 4.5
set   ytics ("unten" -2, "Mitte" -1, "oben" 0) # beschriftet die y-Achse
set   grid                # malt ein Gitternetz
set   nogrid              # macht das Gitter wieder weg
set   log x               # fuehrt zu einer logarithmischen x-Achse
set   log y               # fuehrt zu einer logarithmischen y-Achse
set   nolog x             # fuehrt zu einer linearen x-Achse
set   nolog y             # fuehrt zu einer linearen y-Achse
set   nokey               # entfernt die Angaben in der rechten oberen Ecke
set   key top left        # setzt sie in die linke obere Ecke
set   key bottom right    # setzt sie in die rechte untere Ecke
set   data style linespoints # setzt die Standard-Anzeige auf linespoints,
                          # sodass kein with linespoints mehr noetig ist
All diese Einstellungen werden erst mit dem Ausführen des nächsten plot-Kommandos
aktiv. Damit man all diese Befehle nicht immer wieder tippen muß empfiehlt es sich,
diese in einer Datei (z.B. a.gnu) zu speichern und dann Gnuplot direkt mit dem
Parameter a.gnu aufzurufen. Dann werden alle Befehle in dieser Datei abgearbeitet.
Am Schluß steht das plot-Kommando. Damit die am Bildschirm angezeigte Grafik
nicht sofort wieder verschwindet, muß man am Ende der Datei den Befehl
pause -1
hinzufügen. Das Gnuplot-Bild verschwindet nach der Eingabe von Return.

4     Dreidimensionale Darstellung von Meßdaten
Man kann auch dreidimensionale Bilder zeichnen, folgendes Beispiel zeichnet eine
Kurve durch einen vorgegebenen Punktesatz:

                                         3
set xlabel "x-Achse"
set ylabel "y-Achse"
set zlabel "z-Achse"
splot "a.dat" using 1:2:3 with lines
Will man dagegen eine zweidimensionale Fläche zeichnen, so müssen die Punkte im
Format
x1   y1   z1
x2   y1   z2
x3   y1   z3
x4   y1   z4
.    .    .

x1 y2 z11
x2 y2 z12
. . .
vorliegen. Vor splot muss man dann noch als Einstellung set noparametric einge-
ben.

5     Ausgabe in eine Grafikdatei
Man kann diese Bilder nicht nur am Bildschirm anzeigen sondern auch in eine Gra-
fikdatei ausgeben. Am häufigsten braucht man wohl die Ausgabe in eine Postscript-
Datei:
set terminal postscript # postscript einstellen fuer Druckausgabe
set output "grafik.ps" # Name der PS-Datei
plot "a.dat"            # zeichnen in die PS-Datei
Dabei wird eine Schwarz-Weiß-Grafik erzeugt, die verschiedenen Linienfarben werden
durch verschiedene Strichelungen ersetzt. Wenn man dagegen eine farbige Grafik mit
durchgezogenen Linien haben will, so muß man
set terminal postscript color solid
eingeben. So erzeugt man sich also eine ganzseitige Grafikdatei, die man einfach mit
lpr grafik.ps unter Unix drucken kann.
Jedoch benutzt man, wenn man Grafikdateien in LATEXeinbinden will, besser die EPS-
Version, da eps-Grafiken frei skalierbar sind:
set terminal postscript eps # fuer eps-Datei zum Einbinden in LaTeX
set output "grafik.eps"     # Name der EPS-Datei
plot "a.dat
Wenn man innerhalb von LATEXdann diese Grafik nicht allzu groß darstellt, so werden
die Achsenbeschriftungen zu klein, weshalb man dann deren Größe hochschrauben
muß, z.B.:

                                         4
set terminal postscript eps 40
Im Enhanced-Modus kann man die Postscript-Ausgabe auch noch formatieren:
set terminal postscript eps enhanced 40
set ylabel "(E-E_{min})^{2.5}"
Mit _ und ^ stellt man tief und hoch, geschweifte Klammern fassen die Zeichen ein, die
tief- bzw. hochgestellt werden sollen. Zudem kann man in diesem Enhanced-Modus
auch spezielle Zeichen, z.B. griechische Buchstaben, ausgeben:
set xlabel "{/Symbol a}" # produziert das Zeichen alpha
Eine Übersicht über die möglichen Zeichen ist hier:

                                            5
6     Fitten mit Gnuplot
Gnuplot enthält Fitroutinen, mit denen man den Datensatz an eine vorgegebene Funk-
tion mit zu bestimmenden Parametern anfitten kann, z.B.:
f(x)=a*x**(-b) # vorgeschlagene Fitfunktion
a = 3 # ungefaehre Werte der Parameter, die Angabe derartiger Startwerte
b = 2 # kann zu besseren Fit-Ergebnissen fuehren.
fit f(x) "a.dat" via a,b
Gnuplot gibt dann Werte für a und b aus, zudem mit Fehlerbalken und einer Korre-
lationsmatrix.

7     Einige Abkürzungen
    • w statt with

    • u statt using

    • l statt lines

    • linesp statt linespoints

    • t statt title (beim plot-Befehl)

    • xr statt xrange

    • term statt terminal

    • post statt postscript

    • out statt output

    • rep statt replot (führt den letzten plot-Befehl nochmals durch)

                                          6
Sie können auch lesen