Sie sind auf Seite 1von 6

Kurzeinfu hrung in GNUPLOT

Johannes Schneider 9.12.2004

Einfu hrung

Gnuplot verf ugt u 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 oglichst gute Wahl der Einstellungen automatisch zu nden. Man kann diese Einstellungen aber auch selbst vornehmen und damit die Gnuplot-Einstellungen u berschreiben.

Zweidimensionale Darstellung von Medaten

Mit dem Befehl plot "a.dat" werden standardm aig die Daten der zweiten Spalte gegen die Daten in der ersten Spalte aufgetragen. Enth alt 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

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 ohe 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 beeinussen: 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 ur zwei verschiedene M oglichkeiten 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 ur den Fehlerbalken und in der vierten der obere Wert f ur den Fehlerbalken. Man kann auch verschiedene Datens atze u bereinander plotten: plot "a.dat","b.dat" Gnuplot stellt diese verschiedenen Datens atze mit unterschiedlichen Farben, Symbolen und eventuell Linienarten dar. Diesen Farben/Linienarten und Symbolen sind Nummern zugeordnet, u ahlen kann, z.B.: ber die man auch andere Einstellungen w plot "a.dat" 3 5,"b.dat" 6 7 Selbstverst andlich 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.

Ab anderung der automatischen Einstellungen

Wie bereits gesagt, ver andert Gnuplot immer wieder automatisch seine Einstellungen, um die Daten bestm oglich darstellen zu k onnen. Manchmal m ochte man jedoch eine andere Auftragung haben bzw. etwas zur Darstellung hinzuf ugen. Diese zus atzlichen Einstellungen kann man mit dem set-Kommando angeben. Von der Eingabe dieses Kommandos an ist die entsprechende Gnuplot-Einstellung u berschrieben. Man mu also sp ater ebenfalls diese Einstellung von Hand andern, wenn man wieder andere Sachen zeichnen m ochte. Die wichtigsten Einstellungen sind die folgenden: set set set set set set set set set set set set set set set set set set title "Energie-Temperatur-Diagramm" # setzt den Titel xlabel "Temperatur" # setzt die x-Achsenbeschriftung ylabel "Energie" # setzt die y-Achsenbeschriftung xrange [0.1:4.5] # setzt den x-Bereich yrange [-2:0] # setzt den y-Bereich autoscale # entfernt die xrange- und yrange-Einstellungen xtics 0,0.5 # beschriftet die x-Achse mit 0.5, 1.0, 1.5, ..., 4.5 ytics ("unten" -2, "Mitte" -1, "oben" 0) # beschriftet die y-Achse grid # malt ein Gitternetz nogrid # macht das Gitter wieder weg log x # fuehrt zu einer logarithmischen x-Achse log y # fuehrt zu einer logarithmischen y-Achse nolog x # fuehrt zu einer linearen x-Achse nolog y # fuehrt zu einer linearen y-Achse nokey # entfernt die Angaben in der rechten oberen Ecke key top left # setzt sie in die linke obere Ecke key bottom right # setzt sie in die rechte untere Ecke data style linespoints # setzt die Standard-Anzeige auf linespoints, # sodass kein with linespoints mehr noetig ist

All diese Einstellungen werden erst mit dem Ausf uhren des n achsten plot-Kommandos aktiv. Damit man all diese Befehle nicht immer wieder tippen mu empehlt 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 Grak nicht sofort wieder verschwindet, mu man am Ende der Datei den Befehl pause -1 hinzuf ugen. Das Gnuplot-Bild verschwindet nach der Eingabe von Return.

Dreidimensionale Darstellung von Medaten

Man kann auch dreidimensionale Bilder zeichnen, folgendes Beispiel zeichnet eine Kurve durch einen vorgegebenen Punktesatz:

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 ache zeichnen, so m ussen die Punkte im Format x1 x2 x3 x4 . y1 y1 y1 y1 . z1 z2 z3 z4 .

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

Ausgabe in eine Grakdatei

Man kann diese Bilder nicht nur am Bildschirm anzeigen sondern auch in eine Grakdatei ausgeben. Am h augsten braucht man wohl die Ausgabe in eine PostscriptDatei: 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-Grak erzeugt, die verschiedenen Linienfarben werden durch verschiedene Strichelungen ersetzt. Wenn man dagegen eine farbige Grak mit durchgezogenen Linien haben will, so mu man set terminal postscript color solid eingeben. So erzeugt man sich also eine ganzseitige Grakdatei, die man einfach mit lpr grafik.ps unter Unix drucken kann. A Jedoch benutzt man, wenn man Grakdateien in L TEXeinbinden will, besser die EPSVersion, da eps-Graken 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
A Wenn man innerhalb von L TEXdann diese Grak nicht allzu gro darstellt, so werden die Achsenbeschriftungen zu klein, weshalb man dann deren Gr oe hochschrauben mu, z.B.:

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 Ubersicht u oglichen Zeichen ist hier: ber die m

Fitten mit Gnuplot

Gnuplot enth alt Fitroutinen, mit denen man den Datensatz an eine vorgegebene Funktion mit zu bestimmenden Parametern antten 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 ur a und b aus, zudem mit Fehlerbalken und einer Korrelationsmatrix.

Einige Abku 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 uhrt den letzten plot-Befehl nochmals durch)