Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
spezial:gnuplot [07.03.2013 20:51] tquaritsch [Der erste Graph] |
spezial:gnuplot [28.11.2013 19:53] tquaritsch [Mac OS X] fixed broken link |
||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
</ | </ | ||
{{: | {{: | ||
- | {{: | ||
{{: | {{: | ||
+ | {{: | ||
< | < | ||
</ | </ | ||
Zeile 15: | Zeile 15: | ||
gnuplot ist ein sehr altes Programm -- es wird seit 1986 entwickelt und ist damit annähernd so alt wie TeX selbst. gnuplot verfolgt auch ein ähnliches Konzept: man schreibt eine Eingabedatei in reinem Text (//plain text//), " | gnuplot ist ein sehr altes Programm -- es wird seit 1986 entwickelt und ist damit annähernd so alt wie TeX selbst. gnuplot verfolgt auch ein ähnliches Konzept: man schreibt eine Eingabedatei in reinem Text (//plain text//), " | ||
- | // | + | < |
- | //Randnotiz 2: Trotz seines Alters ist gnuplot keineswegs VERaltet, sondern wird immer noch verwendet um hochpräzise und flexible Graphen, insbesondere für wissenschaftliche Arbeiten, zu erzeugen. Auch die Zeichenbibliothek TikZ unterstützt die Verwendung von gnuplot// | + | < |
- | **gnuplot ist ein sehr umfangreiches Programm, weshalb wir in diesem Tutorial unmöglich auf alle Features eingehen können. Für alles weitergehende müssen wir auf die {{: | + | <note important> |
===== Installation ===== | ===== Installation ===== | ||
+ | ==== Windows ==== | ||
- | FIXME | + | Das Installationsprogramm für Windows kann von der [[http:// |
- | ===== Der erste Graph ===== | + | {{ : |
+ | |||
+ | Nach der Installation können Sie das Programm entweder aus dem Startmenü oder über die Eingabeaufforderung mittels '' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Man kann jedoch bei Verwendung dieser Oberfläche leicht den Überblick verlieren, welche Einstellungen gerade aktiv sind. Wir raten deshalb zur Verwendung eines [[http:// | ||
+ | |||
+ | ==== Mac OS X ==== | ||
+ | |||
+ | Unter Mac OS X installieren Sie gnuplot am besten über eine der bekannten Paketdistributionen wie [[http:// | ||
+ | |||
+ | Unter MacPorts sollte ein einfaches | ||
+ | < | ||
+ | sudo port install gnuplot | ||
+ | </ | ||
+ | ausreichen. | ||
+ | |||
+ | ==== Linux ==== | ||
+ | |||
+ | Unter Linux nutzen Sie einfach den Paketinstallations-Mechanismus Ihrer Distribution. Unter Debian/ | ||
+ | |||
+ | < | ||
+ | sudo apt-get install gnuplot | ||
+ | </ | ||
+ | installiert werden kann. | ||
+ | |||
+ | ===== Tutorial ===== | ||
+ | |||
+ | ==== Der erste Graph ==== | ||
Wir starten mit einem sehr einfachen Graphen: wir wollen die Funktion sin(x) im Bereich von 2 bis 2π darstellen und als PDF-Datei ausgeben. | Wir starten mit einem sehr einfachen Graphen: wir wollen die Funktion sin(x) im Bereich von 2 bis 2π darstellen und als PDF-Datei ausgeben. | ||
Zeile 59: | Zeile 89: | ||
* Der Ausgabedateiname (output) wird auf '' | * Der Ausgabedateiname (output) wird auf '' | ||
* Die Bereiche für die x-Achse und y-Achse werden auf 0 bis 2π und -1 bis 1 gesetzt | * Die Bereiche für die x-Achse und y-Achse werden auf 0 bis 2π und -1 bis 1 gesetzt | ||
+ | |||
+ | ==== Achsen-Formatierungen ==== | ||
+ | |||
+ | Bei Graphen von Winkelfunktionen zeichnet man die Achsen üblicherweise durch die Nulldurchgänge und markiert auf der x-Achse Vielfache von π. Dies können wir mit den folgenden Einstellungen erreichen: | ||
+ | |||
+ | <code gnuplot> | ||
+ | set border 0 | ||
+ | set xzeroaxis | ||
+ | set yzeroaxis | ||
+ | |||
+ | set xtics axis -pi, pi/2, 2*pi | ||
+ | set ytics axis -1, 0.5, 1 | ||
+ | |||
+ | set format x "%.1P pi" | ||
+ | </ | ||
+ | |||
+ | Die Befehle im Einzelnen: | ||
+ | ** '' | ||
+ | * 1 = untere Rahmenlinie | ||
+ | * 2 = linke Rahmenlinie | ||
+ | * 4 = obere Rahmenlinie | ||
+ | * 8 = rechte Rahmenlinie | ||
+ | .. d.h. 3 wäre beispielsweise die notwendige Angabe für Rahmenlinien links und unten. In unserem Fall geben wir 0 an, weil wir die Achsen später in den Nulldurchgang legen wollen. | ||
+ | * '' | ||
+ | * Die Achsenmarkierungen legen wir mittels '' | ||
+ | * Die Beschriftungen auf der x-Achse können wir außerdem mittels '' | ||
+ | |||
+ | Damit sieht unser Graph folgendermaßen aus: (Sie können hier die {{: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Mehrere Funktionen zeichnen und formatieren ==== | ||
+ | |||
+ | Natürlich können wir in gnuplot auch mehrere Funktionen (für Datenpunkte siehe unten) in ein Diagramm zeichnen. Außerdem stehen verschiedenste Formatierungsbefehle zur Verfügung um die Linien/ | ||
+ | |||
+ | Wir wollen nun zwei etwas komplizierte Winkelfunktionen zeichnen: | ||
+ | |||
+ | <code gnuplot> | ||
+ | plot 0.9*sin(x+0.5) title " | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Dieser Plot-Befehl ist nun schon etwas komplizierter. Zerlegen wir ihn Schritt für Schritt: | ||
+ | |||
+ | ** '' | ||
+ | ** Nach der Funktion geben wir mitels '' | ||
+ | ** Nach '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | .. Die weiteren Angaben bedeuten: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | ** Danach sehen wir ein Komma ('','' | ||
+ | <note warning> | ||
+ | ** Die zweite Funktion '' | ||
+ | |||
+ | <note important> | ||
+ | Eine (vermutlich historische) Eigenheit von gnuplot ist die Tatsache, dass das Ergebnis komplett vom verwendeten Terminal ('' | ||
+ | </ | ||
+ | |||
+ | Eine Übersicht über die Fähigkeiten und vordefinierten Stile eines Terminals kann man sich mit Hilfe des '' | ||
+ | |||
+ | |||
+ | < | ||
+ | <span class=" | ||
+ | </ | ||
+ | {{: | ||
+ | {{: | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Und hier nochmals das Ergebnis unseres gnuplot scripts und {{: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Abkürzungen und Benutzerdefinierte Stile ==== | ||
+ | |||
+ | Man sieht bereits, dass der Plot-Befehl durch die Formatierungsangaben sehr lang werden kann. Es gibt dafür zwei Abhilfen: | ||
+ | |||
+ | -- Sehr viele gnuplot-Befehle können abgekürzt werden. Das heißt, man kann beispielsweise statt '' | ||
+ | -- Man kann die verschiedenen Angaben zu Liniendicke/ | ||
+ | |||
+ | Damit wird unser Dokument wesentlich übersichtlicher: | ||
+ | |||
+ | <code gnuplot> | ||
+ | set style line 1 lt 1 lw 4 lc rgb " | ||
+ | set style line 2 lt 1 lw 3 lc rgb "# | ||
+ | |||
+ | plot 0.9*sin(x+0.5) t " | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ({{: | ||
+ | |||
+ | ==== Gitternetzlinien und Sonderzeichen ==== | ||
+ | |||
+ | Zu guter Letzt wollen wir noch Gitternetzlinien einblenden und außerdem das Wort " | ||
+ | |||
+ | Dazu müssen wir noch einige Optionen für das Terminal setzen: | ||
+ | |||
+ | <code gnuplot> | ||
+ | set terminal pdf enhanced fsize 8 dashed dl 0.5 | ||
+ | </ | ||
+ | |||
+ | Die Option '' | ||
+ | |||
+ | Mit der Angabe '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | Damit können wir nun einen Linestyle für die Gitternetzlinien erstellen sowie diese aktivieren. Mit Hilfe der " | ||
+ | |||
+ | <code gnuplot> | ||
+ | set style line 3 lt 2 lw 0.1 lc rgb "# | ||
+ | set style line 4 lt 1 lw 4 lc rgb "# | ||
+ | |||
+ | set grid xtics ytics mytics ls 3 | ||
+ | |||
+ | set xzeroaxis ls 4 | ||
+ | set yzeroaxis ls 4 | ||
+ | |||
+ | set mytics 5 | ||
+ | |||
+ | set format x "%.1P {/Symbol p}" | ||
+ | </ | ||
+ | |||
+ | Die Befehle im Detail: | ||
+ | |||
+ | ** Linestyle 3 ist als strichlierte Linie (linetype 1) der Dicke 0.1 und grauer Farbe definiert. Mit Linestyle 4 wollen wir die Achsen etwas dicker zeichen (linewidth 4). | ||
+ | ** Mittels '' | ||
+ | ** Über '' | ||
+ | ** '' | ||
+ | ** '' | ||
+ | |||
+ | Damit sind wir am Ende unseres gnuplot-Grundlagen-Tutorials. Hier das Endergebnis und {{: | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== LaTeX-Integration ===== | ||
+ | |||
+ | <note important> | ||
+ | Hier ist zur Zeit eine Baustelle! | ||
+ | </ | ||
+ | |||
+ | ===== Tipps & Tricks ===== | ||
+ | |||
+ | <note important> | ||
+ | Hier ist zur Zeit eine Baustelle! | ||
+ | </ |