Kurzeinf uhrung in GNUPLOT
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
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