einführung in gnuplot - mpp.mpg.dejingliu/ecpi/gnuplot/gnuplotintro.pdf · einleitung fähigkeiten...
TRANSCRIPT
![Page 1: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/1.jpg)
EinleitungFähigkeiten
Einführung in GNUPLOT
F. Beaujean
30.01.2007
F. Beaujean GNUPLOT
![Page 2: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/2.jpg)
EinleitungFähigkeiten
Gliederung
1 Einleitung
2 Fähigkeiten
F. Beaujean GNUPLOT
![Page 3: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/3.jpg)
EinleitungFähigkeiten
Geschichte
GNUPLOT ist das plotting programm unter Linux
es gehört nicht zu der GNU software foundation
wird seit 1986 entwickelt und verbessert
neueste Version 4.0 (2004), Entwicklungsversion bei 4.2
F. Beaujean GNUPLOT
![Page 4: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/4.jpg)
EinleitungFähigkeiten
Geschichte
GNUPLOT ist das plotting programm unter Linux
es gehört nicht zu der GNU software foundation
wird seit 1986 entwickelt und verbessert
neueste Version 4.0 (2004), Entwicklungsversion bei 4.2
F. Beaujean GNUPLOT
![Page 5: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/5.jpg)
EinleitungFähigkeiten
Geschichte
GNUPLOT ist das plotting programm unter Linux
es gehört nicht zu der GNU software foundation
wird seit 1986 entwickelt und verbessert
neueste Version 4.0 (2004), Entwicklungsversion bei 4.2
F. Beaujean GNUPLOT
![Page 6: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/6.jpg)
EinleitungFähigkeiten
Geschichte
GNUPLOT ist das plotting programm unter Linux
es gehört nicht zu der GNU software foundation
wird seit 1986 entwickelt und verbessert
neueste Version 4.0 (2004), Entwicklungsversion bei 4.2
F. Beaujean GNUPLOT
![Page 7: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/7.jpg)
EinleitungFähigkeiten
Verfügbarkeit
Homepage: http://www.gnuplot.info
Sourcecode und vorkompilierte Programme für Linux,Windows ...
läuft (auch) ohne graphische Ober�äche, nur durchKommandozeilen-Befehle oder Skripten
graphische Ober�ächen verfügbar ( selten auf dem neustenStand)
Interfaces für versch. Sprachen ( C, C++, Python ....)
sehr umfangreich dokumentiert, verschiedene Niveaux
F. Beaujean GNUPLOT
![Page 8: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/8.jpg)
EinleitungFähigkeiten
Verfügbarkeit
Homepage: http://www.gnuplot.info
Sourcecode und vorkompilierte Programme für Linux,Windows ...
läuft (auch) ohne graphische Ober�äche, nur durchKommandozeilen-Befehle oder Skripten
graphische Ober�ächen verfügbar ( selten auf dem neustenStand)
Interfaces für versch. Sprachen ( C, C++, Python ....)
sehr umfangreich dokumentiert, verschiedene Niveaux
F. Beaujean GNUPLOT
![Page 9: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/9.jpg)
EinleitungFähigkeiten
Verfügbarkeit
Homepage: http://www.gnuplot.info
Sourcecode und vorkompilierte Programme für Linux,Windows ...
läuft (auch) ohne graphische Ober�äche, nur durchKommandozeilen-Befehle oder Skripten
graphische Ober�ächen verfügbar ( selten auf dem neustenStand)
Interfaces für versch. Sprachen ( C, C++, Python ....)
sehr umfangreich dokumentiert, verschiedene Niveaux
F. Beaujean GNUPLOT
![Page 10: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/10.jpg)
EinleitungFähigkeiten
Verfügbarkeit
Homepage: http://www.gnuplot.info
Sourcecode und vorkompilierte Programme für Linux,Windows ...
läuft (auch) ohne graphische Ober�äche, nur durchKommandozeilen-Befehle oder Skripten
graphische Ober�ächen verfügbar ( selten auf dem neustenStand)
Interfaces für versch. Sprachen ( C, C++, Python ....)
sehr umfangreich dokumentiert, verschiedene Niveaux
F. Beaujean GNUPLOT
![Page 11: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/11.jpg)
EinleitungFähigkeiten
Verfügbarkeit
Homepage: http://www.gnuplot.info
Sourcecode und vorkompilierte Programme für Linux,Windows ...
läuft (auch) ohne graphische Ober�äche, nur durchKommandozeilen-Befehle oder Skripten
graphische Ober�ächen verfügbar ( selten auf dem neustenStand)
Interfaces für versch. Sprachen ( C, C++, Python ....)
sehr umfangreich dokumentiert, verschiedene Niveaux
F. Beaujean GNUPLOT
![Page 12: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/12.jpg)
EinleitungFähigkeiten
Verfügbarkeit
Homepage: http://www.gnuplot.info
Sourcecode und vorkompilierte Programme für Linux,Windows ...
läuft (auch) ohne graphische Ober�äche, nur durchKommandozeilen-Befehle oder Skripten
graphische Ober�ächen verfügbar ( selten auf dem neustenStand)
Interfaces für versch. Sprachen ( C, C++, Python ....)
sehr umfangreich dokumentiert, verschiedene Niveaux
F. Beaujean GNUPLOT
![Page 13: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/13.jpg)
EinleitungFähigkeiten
Wie funktioniert es?
Aufruf: gnuplot
state machine
Die drei wichtigsten Befehle
set
plot
splot
F. Beaujean GNUPLOT
![Page 14: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/14.jpg)
EinleitungFähigkeiten
Was kann es plotten?(1)
2d Plots
Nahezu alle Standard -Funktionen wie x2,sin x , atanx . . .
auch beliebige selbstde�nierte Kombinationen von diesen
implizite Funktionen y (x) ↔ x (y)
2d Daten aus üblichen Textdateien, Filter, �ts . . .
Rohdaten wie Bilder. . .
Beispielbefehle
plot sin(x)
plot �data.dat�
f(x) = 3* x*x
plot f(x)
F. Beaujean GNUPLOT
![Page 15: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/15.jpg)
EinleitungFähigkeiten
Was kann es plotten?(1)
2d Plots
Nahezu alle Standard -Funktionen wie x2,sin x , atanx . . .
auch beliebige selbstde�nierte Kombinationen von diesen
implizite Funktionen y (x) ↔ x (y)
2d Daten aus üblichen Textdateien, Filter, �ts . . .
Rohdaten wie Bilder. . .
Beispielbefehle
plot sin(x)
plot �data.dat�
f(x) = 3* x*x
plot f(x)
F. Beaujean GNUPLOT
![Page 16: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/16.jpg)
EinleitungFähigkeiten
Beispiel Plot
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-10 -5 0 5 10
y
x
sin(x)Nötige Befehle
gnuplot> set terminal postscript
enhanced
gnuplot> set output "Sinus"
gnuplot> plot sin(x)
F. Beaujean GNUPLOT
![Page 17: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/17.jpg)
EinleitungFähigkeiten
Was kann es plotten?(2)
3d Plots
Standard -Funktionen von zwei Variablen wie y4x2
x2+y2,sin x · y
. . .
selbstde�nierte Kombinationen, auch mit Variablen
implizite Funktionen f (x , y)
3d Daten aus üblichen Textdateien
Fehlerbalken mitdarstellen
Histogramme, Balkendiagramme und sehr viel mehr
F. Beaujean GNUPLOT
![Page 18: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/18.jpg)
EinleitungFähigkeiten
Beispiel Plot
0
0.05
0.1
0.15
0.2
0.25
0.3
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.05
0.1 0.15
0.2 0.25
0.3
U
Potential 0.25 0.2
0.15 0.1
0.05
x
y
U
Nötige Befehle
set terminal X11
set xlabel "x"
set ylabel "y"
set zlabel "U"
set dgrid3d 30,30
set contour base
set pm3d
splot "data.dat" using 1:2:4 with
lines title "Potential
F. Beaujean GNUPLOT
![Page 19: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/19.jpg)
EinleitungFähigkeiten
Verwendung aus C++(1)
Die Daten sind berechnet
Daten in Spaltenform in Datei schreiben
GNUPLOT mit Skript aufrufen
F. Beaujean GNUPLOT
![Page 20: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/20.jpg)
EinleitungFähigkeiten
Verwendung aus C++(2)
Examples
#include <fstream>...ofstream file("data.dat");
file< <"# number of iterations: "< <iter< <endl;
file< <"# x"< <"\t"< <"y"< <"\t"< <"z"< <"\t"< <"U"< <endl;
for(int i=0; i<numPoints ;i++){
for(int j=0; j<numPoints ;j++){
for(int k=0; k<numPoints ;k++){
file< <(float)i/numPoints< <"\t"< <(float)j/numPoints
< <"\t"< <(float)k/numPoints< <"\t"< <el(grid,i,j,k)
< <"\t"< <endl;}}}
system("gnuplot skript.gnu");
F. Beaujean GNUPLOT
![Page 21: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/21.jpg)
EinleitungFähigkeiten
Verwendung aus C++(3)
data.dat
# number of
iterations: 239
# x y z U
0 0 0 0
0 0 0.0238095 0
0 0 0.047619 0
0 0 0.0714286 0
skript.gnu
set terminal X11
#set terminal postscript enhanced
color
. . .set view 0,0
splot "data.dat" using 1:2:4 with
lines title "Potential"
pause -1
F. Beaujean GNUPLOT
![Page 22: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/22.jpg)
EinleitungFähigkeiten
Fitting
Nur zwei Befehle
f (x) = A ∗ cos (x + p)
fit f (x) �data� via A,p
Examples. . .Final set of parameters Asymptotic Standard Error=================================================A = -1.00025 +/- 0.001433 (0.1433%)p = 1.57084 +/- 0.001346 (0.08569%)
F. Beaujean GNUPLOT
![Page 23: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/23.jpg)
EinleitungFähigkeiten
Hilfreiche Links
Referenz
www.gnuplot.info: viele Links, Dokumentation etc
die mitgelieferte Hilfe ( u.U. veraltet), mitBefehlszusammenfassung gpcard.pdf ( 7 Seiten)
http://www.google.com/Top/Science/Math/Software/
Graphing/Gnuplot/
http://t16web.lanl.gov/Kawano/gnuplot/index-e.html
hervorragende Seite, viele Beispiele mit screenshots.
Eingabe Hilfen
EMACS mode http://feff.phys.washington.edu/~ravel/software/gnuplot-mode/ Syntax Einfärbung undBefehlserweiterung, für Leute die Tippen bevorzugen
QGFE http://www.xm1math.net/qgfe/ zum klicken
F. Beaujean GNUPLOT
![Page 24: Einführung in GNUPLOT - mpp.mpg.dejingliu/ECPI/GNUplot/GNUPLOTintro.pdf · Einleitung Fähigkeiten Geschichte GNUPLOT ist das plotting programm unter Linux es gehört nicht zu der](https://reader036.vdocuments.net/reader036/viewer/2022062913/5e15e8dcf7a5883fa651f639/html5/thumbnails/24.jpg)
EinleitungFähigkeiten
Zusammenfassung
Anfang mühsam, danach sehr komfortabel, nur wenige Befehle
GNUPLOT ist sehr schnell, exzellent für wiederkehrendeAufgaben ( Messungen an Experimenten)
Noch mehr Links
http://www.mathtools.net/C_C__/index.html viele Linkszu Bibliotheken aus allen Bereichen der Naturwissenschaften,auch viele Plotengines, nicht alle frei verfügbar
http://www.oonumerics.org/oonLinks zu sehr hilfreichen,freien Paketen ( mein Tip: Blitz++)
F. Beaujean GNUPLOT