Diagramme in LaTeX - Gnuplot und TikZ - suedraum
Diagramme in LaTeX - Gnuplot und TikZ - suedraum
Diagramme in LaTeX - Gnuplot und TikZ - suedraum
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Thomas Benkert<br />
L A TEX-Stammtisch<br />
<strong>Diagramme</strong> <strong>in</strong> L A TEX<br />
<strong>Gnuplot</strong> <strong>und</strong> <strong>TikZ</strong><br />
16. November 2008<br />
Freiberg
Inhalt<br />
E<strong>in</strong>leitung<br />
Die Daten<br />
Diagrammtypen<br />
<strong>Gnuplot</strong><br />
E<strong>in</strong>leitung<br />
Befehlssyntax<br />
Zwei kle<strong>in</strong>e Beispiele<br />
Beispiele<br />
<strong>TikZ</strong><br />
E<strong>in</strong>leitung<br />
Beispiele<br />
Epilog<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 1
Die Daten<br />
Was soll dargestellt werden<br />
Meßwerte<br />
Funktionen<br />
Zu welchem Zweck<br />
Wertedarstellung<br />
Abhängigkeiten/Funktionen<br />
Hervorhebung (Wahrnehmung)<br />
Wahl der Mittel<br />
Tabelle<br />
Diagramm ➠ Typ<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 2
Diagrammtypen<br />
Flächendiagramme<br />
Kuchen-/Tortendiagramme<br />
Balkendiagramme<br />
Punktdiagramme<br />
Streudiagramme<br />
Dreiecksdiagramme<br />
L<strong>in</strong>iendiagramme<br />
Meßreihen/Funktionen<br />
Impulsdiagramme<br />
Sp<strong>in</strong>nennetzdiagramme<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 3
Diagrammtypen<br />
Flächendiagramme<br />
Kuchen-/Tortendiagramme<br />
Balkendiagramme<br />
Punktdiagramme<br />
Streudiagramme<br />
Dreiecksdiagramme<br />
L<strong>in</strong>iendiagramme<br />
Meßreihen/Funktionen<br />
Impulsdiagramme<br />
Sp<strong>in</strong>nennetzdiagramme<br />
Philipp<strong>in</strong>es<br />
New Caledonia<br />
Philipp<strong>in</strong>es<br />
New<br />
Caledonia<br />
Rus s ia<br />
Indones ia<br />
Dom <strong>in</strong>ican Greece Republic<br />
South Africa<br />
Russia<br />
Indonesia<br />
Others<br />
Venezuela<br />
Dom<strong>in</strong>ican<br />
Greece<br />
RepublicCuba<br />
Colombia Ch<strong>in</strong>a<br />
South Africa<br />
Cuba<br />
Venezuela<br />
Others<br />
Colom biaCh<strong>in</strong>a<br />
Canada<br />
Canada<br />
Brazil<br />
Australia<br />
Botswana<br />
Brazil<br />
Botswana<br />
Aus tralia<br />
40<br />
35<br />
30<br />
25<br />
20<br />
15<br />
10<br />
5<br />
0<br />
Australia<br />
Botswana<br />
Brazil<br />
Canada<br />
Ch<strong>in</strong>a<br />
Colombia<br />
Cuba<br />
Dom<strong>in</strong>ican Republic<br />
Greece<br />
Indonesia<br />
New Caledonia<br />
Philipp<strong>in</strong>es<br />
Russia<br />
South Africa<br />
Venezuela<br />
Others<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 3
Diagrammtypen<br />
Flächendiagramme<br />
Kuchen-/Tortendiagramme<br />
Balkendiagramme<br />
Punktdiagramme<br />
Streudiagramme<br />
Dreiecksdiagramme<br />
L<strong>in</strong>iendiagramme<br />
Meßreihen/Funktionen<br />
Impulsdiagramme<br />
Sp<strong>in</strong>nennetzdiagramme<br />
content<br />
ASCII<br />
DVI<br />
TEX<br />
L A TEX<br />
XML Word PostScript<br />
HTML PDF<br />
structure<br />
CSS<br />
form<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 3
Diagrammtypen<br />
Flächendiagramme<br />
Kuchen-/Tortendiagramme<br />
Balkendiagramme<br />
Punktdiagramme<br />
Streudiagramme<br />
Dreiecksdiagramme<br />
L<strong>in</strong>iendiagramme<br />
Meßreihen/Funktionen<br />
Impulsdiagramme<br />
Sp<strong>in</strong>nennetzdiagramme<br />
Kat 1<br />
10<br />
8<br />
6<br />
Kat 5<br />
4<br />
2<br />
0<br />
Kat 2<br />
Kat 4<br />
Kat 3<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 3
<strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong>: wie <strong>und</strong> womit<br />
<strong>in</strong>tern<br />
picture<br />
pstricks<br />
<strong>TikZ</strong><br />
extern<br />
direkt<br />
Plotprogramm mit Ausgabe<br />
(MatLab, R, <strong>Gnuplot</strong>, . . . )<br />
<strong>in</strong>direkt<br />
Plotprogramm<br />
(Ausgabe <strong>in</strong> svg, fig, . . . )<br />
➠ Grafikprogramm<br />
(InkScape, XFig, Gimp, . . . )<br />
Ausgabe <strong>in</strong>: tex, ps, eps, pdf, png, jpg<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 4
<strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong>: wie <strong>und</strong> womit<br />
<strong>in</strong>tern<br />
picture<br />
pstricks<br />
<strong>TikZ</strong><br />
extern<br />
direkt<br />
Plotprogramm mit Ausgabe<br />
(MatLab, R, <strong>Gnuplot</strong>, . . . )<br />
<strong>in</strong>direkt<br />
Plotprogramm<br />
(Ausgabe <strong>in</strong> svg, fig, . . . )<br />
➠ Grafikprogramm<br />
(InkScape, XFig, Gimp, . . . )<br />
Ausgabe <strong>in</strong>: tex, ps, eps, pdf, png, jpg<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 4
<strong>Gnuplot</strong> I<br />
Allgeme<strong>in</strong>es<br />
Open Source (für viele OS verfügbar, z.T. vorkompiliert), kostenfrei<br />
http://www.gnuplot.<strong>in</strong>fo<br />
aktive Entwicklung (Releasezyklus ca. 6 Monate, aktuelle Version 4.2.4)<br />
script-Verarbeitung<br />
Schnittstellen zu Programmiersprachen (C, C++, Perl, Python, . . . )<br />
Datenmanipulation on-the-fly<br />
nur 3 Befehle: plot, splot, fit<br />
zahlreiche Plot-Typen, sehr viele set-Schalter<br />
zahlreiche Funktionen implementiert (rand, erf, <strong>in</strong>verf, besj0, besy0, . . . )<br />
programmierbar (e<strong>in</strong>geschränkt, besser mit Programmiersprache)<br />
viele Ausgabemöglichkeiten (term<strong>in</strong>als), davon ca. 10 direkt für <strong>LaTeX</strong><br />
ke<strong>in</strong>e Installation, portabel<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 5
<strong>Gnuplot</strong> II<br />
Abb. 1: Screenshot: <strong>Gnuplot</strong>-Arbeitsfenster unter MS-W<strong>in</strong><br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 6
<strong>Gnuplot</strong>: Beispiele (demo.dem)<br />
Funktionen<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 7
<strong>Gnuplot</strong>: Beispiele (demo.dem)<br />
Daten<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 8
<strong>Gnuplot</strong>: Beispiele (demo.dem)<br />
Daten/Funktionen <strong>in</strong> diversen Koord<strong>in</strong>atensysteme<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 9
<strong>Gnuplot</strong>-Befehlssyntax<br />
help <br />
Hilfe (zu begriff)<br />
pwd<br />
Ausgabe aktueller Pfad<br />
" " ’ ’ Str<strong>in</strong>gs (z.B. Ausgabedate<strong>in</strong>ame)<br />
cd "../../grf" Verzeichniswechsel (beachte: /)<br />
set<br />
Wertzuweisung<br />
set term<strong>in</strong>al Ausgabetyp (z.B. w<strong>in</strong>dows, wxt, latex,<br />
jpeg)<br />
set output "date<strong>in</strong>ame" Umleitung der Ausgabe <strong>in</strong> Datei<br />
set range [n:m] Def<strong>in</strong>itions-/Wertebereich von n bis m<br />
set tics n,c,m Achsene<strong>in</strong>teilung von n bis m<br />
<strong>in</strong> c-Schritten<br />
set label "Text" Achsenbeschriftung Text<br />
plot <br />
startet Ausgabe von anweisung<br />
+ - * / ** math. Operatoren<br />
# Kommentarzeichen<br />
\ Zeilenumbruch<br />
show <br />
Anzeige Variablen<strong>in</strong>halt<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 10
<strong>Gnuplot</strong>: E<strong>in</strong> erstes Beispiel<br />
auf der <strong>Gnuplot</strong>konsole: plot s<strong>in</strong>(x)<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 11
<strong>Gnuplot</strong>: E<strong>in</strong> erstes Beispiel<br />
auf der <strong>Gnuplot</strong>konsole: plot s<strong>in</strong>(x)<br />
Das Ergebnis<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 11
<strong>Gnuplot</strong>: E<strong>in</strong> erstes Beispiel II<br />
plot [0:2*pi] s<strong>in</strong>(x), cos(x)<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 12
<strong>Gnuplot</strong>: E<strong>in</strong> erstes Beispiel II<br />
plot [0:2*pi] s<strong>in</strong>(x), cos(x)<br />
Das Ergebnis<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 12
<strong>Gnuplot</strong>: E<strong>in</strong> zweites Beispiel<br />
Die Daten<br />
1 # Hg Ext. Unter.<br />
2 0 0.006 0.004<br />
3 14.3 0.133 0.004<br />
4 28.6 0.301 0.005<br />
5 42.9 0.417 0.005<br />
6 57.2 0.575 0.006<br />
7 71.5 0.703 0.006<br />
Datenstruktur:<br />
Kommentar #<br />
Spaltentrennzeichen: Leerzeichen oder<br />
Tabulator<br />
Dezimalpunkt<br />
e<strong>in</strong> Datensatz pro Zeile<br />
Das Skript<br />
1 # e<strong>in</strong> kle<strong>in</strong>es <strong>Gnuplot</strong>beispiel<br />
2 plot "dil_gnuplot_daten.dat"<br />
Der Programmaufruf<br />
Kommandozeile: gnuplot dil_gnuplot_daten.plt<br />
<strong>in</strong> <strong>Gnuplot</strong>: load "dil_gnuplot_daten.plt"<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 13
<strong>Gnuplot</strong>: E<strong>in</strong> zweites Beispiel<br />
Die Daten<br />
1 # Hg Ext. Unter.<br />
2 0 0.006 0.004<br />
3 14.3 0.133 0.004<br />
4 28.6 0.301 0.005<br />
5 42.9 0.417 0.005<br />
6 57.2 0.575 0.006<br />
7 71.5 0.703 0.006<br />
Datenstruktur:<br />
Kommentar #<br />
Spaltentrennzeichen: Leerzeichen oder<br />
Tabulator<br />
Dezimalpunkt<br />
e<strong>in</strong> Datensatz pro Zeile<br />
Das Skript<br />
1 # e<strong>in</strong> kle<strong>in</strong>es <strong>Gnuplot</strong>beispiel<br />
2 plot "dil_gnuplot_daten.dat"<br />
Der Programmaufruf<br />
Kommandozeile: gnuplot dil_gnuplot_daten.plt<br />
<strong>in</strong> <strong>Gnuplot</strong>: load "dil_gnuplot_daten.plt"<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 13
<strong>Gnuplot</strong>: E<strong>in</strong> zweites Beispiel<br />
Die Daten<br />
1 # Hg Ext. Unter.<br />
2 0 0.006 0.004<br />
3 14.3 0.133 0.004<br />
4 28.6 0.301 0.005<br />
5 42.9 0.417 0.005<br />
6 57.2 0.575 0.006<br />
7 71.5 0.703 0.006<br />
Datenstruktur:<br />
Kommentar #<br />
Spaltentrennzeichen: Leerzeichen oder<br />
Tabulator<br />
Dezimalpunkt<br />
e<strong>in</strong> Datensatz pro Zeile<br />
Das Skript<br />
1 # e<strong>in</strong> kle<strong>in</strong>es <strong>Gnuplot</strong>beispiel<br />
2 plot "dil_gnuplot_daten.dat"<br />
Der Programmaufruf<br />
Kommandozeile: gnuplot dil_gnuplot_daten.plt<br />
<strong>in</strong> <strong>Gnuplot</strong>: load "dil_gnuplot_daten.plt"<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 13
<strong>Gnuplot</strong>: E<strong>in</strong> zweites Beispiel II<br />
Das Ergebnis<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 14
<strong>Gnuplot</strong>: Term<strong>in</strong>als/Ausgabe<br />
set term<strong>in</strong>al jpeg<br />
set term<strong>in</strong>al latex<br />
1<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0<br />
-0.2<br />
-0.4<br />
-0.6<br />
-0.8<br />
s<strong>in</strong>(x)<br />
cos(x)<br />
-1<br />
0 1 2 3 4 5 6<br />
0.8<br />
0.7<br />
0.6<br />
0.5<br />
0.4<br />
✸<br />
“dilgnuplotdaten.dat“<br />
✸<br />
✸<br />
✸<br />
0.3<br />
✸<br />
0.2<br />
0.1<br />
✸<br />
0✸<br />
0 10 20 30 40 50 60 70 80<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 15
<strong>Gnuplot</strong>-Beispiel: Daten <strong>und</strong> Funktionen I<br />
Das Skript<br />
1 # e<strong>in</strong> umfangreicheres <strong>Gnuplot</strong>beispiel<br />
2 reset<br />
3 set term<strong>in</strong>al latex<br />
4 set output "dil_gnuplot_daten2.tex"<br />
5 set xrange [-5:75]<br />
6 set yrange [-.05:0.75]<br />
7 set xtics nomirror<br />
8 set ytics nomirror<br />
9 set xlabel "{[c\\textsubscript{Hg}] = ng/cm\\textsuperscript{3}}"<br />
10 set ylabel ’{\rotatebox{90}{Ext<strong>in</strong>ktion}}’<br />
11 set key at 75,.15<br />
12 set decimalsign ’,’<br />
13 f(x) = a*x<br />
14 fit f(x) ’dil_gnuplot_daten.dat’ us<strong>in</strong>g 1:2 via a<br />
15 fcutted(x)=(x < 0) 1/0 : (x < 72) f(x) : 1/0<br />
16 plot "dil_gnuplot_daten.dat" title ’\footnotesize Meßpunkte’ po<strong>in</strong>ttype 2,\<br />
17 "dil_gnuplot_daten.dat" us<strong>in</strong>g 1:3 with l<strong>in</strong>es l<strong>in</strong>etype 8 title<br />
’\footnotesize Untergr<strong>und</strong>’,\<br />
18 fcutted(x) l<strong>in</strong>etype 0 notitle<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 16
<strong>Gnuplot</strong>-Beispiel: Daten <strong>und</strong> Funktionen II<br />
Das Ergebnis<br />
Ext<strong>in</strong>ktion<br />
0,7<br />
0,6<br />
0,5<br />
0,4<br />
0,3<br />
0,2<br />
0,1<br />
0<br />
Meßpunkte<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
[c Hg ] = ng/cm 3 Untergr<strong>und</strong><br />
+<br />
0 10 20 30 40 50 60 70<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 17
<strong>Gnuplot</strong>-Beispiel: mehrere Funktionen I<br />
Das Skript<br />
1 # gnuplot-beispiel: gedaempfter oszillator<br />
2 reset<br />
3 y1(x)=exp(-0.2*x)*cos(2.*x)<br />
4 y2(x)=exp(-0.2*x)<br />
5 y3(x)=-y2(x)<br />
6 set samples 400<br />
7 set xrange [0:15]<br />
8 set yrange [-1:1]<br />
9 set grid<br />
10 set xlabel "x"<br />
11 set ylabel "y(x)"<br />
12 set title "E<strong>in</strong> e<strong>in</strong>facher gedaempfter Schw<strong>in</strong>ger"<br />
13 plot y3(x) ti "" w l lw 3,\<br />
14 y2(x) ti "" w l lw 3,\<br />
15 y1(x) ti "Schw<strong>in</strong>gung" with filledcurve y1=0<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 18
<strong>Gnuplot</strong>-Beispiel: mehrere Funktionen II<br />
1<br />
E<strong>in</strong> e<strong>in</strong>facher gedaempfter Schw<strong>in</strong>ger<br />
Schw<strong>in</strong>gung<br />
0.5<br />
y(x)<br />
0<br />
-0.5<br />
-1<br />
0 2 4 6 8 10 12 14<br />
x<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 19
<strong>Gnuplot</strong>-Beispiel: zweidimensionale Funktion g(x, y) I<br />
Das Skript<br />
1 # gnuplot-beispiel: zweidimensionaler plot g(x,y)<br />
2 reset<br />
3 g(x,y)=x**2-y**2<br />
4 set xlabel "x"<br />
5 set ylabel "y"<br />
6 set zlabel "g(x,y)"<br />
7 set xrange [-2:2]<br />
8 set yrange [-2:2]<br />
9 set hidden3d<br />
10 splot g(x,y) ti "" lw 2<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 20
<strong>Gnuplot</strong>-Beispiel: zweidimensionale Funktion g(x, y) II<br />
g(x,y)<br />
-1 01234<br />
-2<br />
-3<br />
-4<br />
-2 -1.5 -1-0.5<br />
x<br />
0 0.5<br />
1 1.5<br />
2<br />
-2<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1 y<br />
-1.5<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 21
<strong>Gnuplot</strong>-Skript: Sicherheit beim Arbeiten<br />
Gr<strong>und</strong>skelett<br />
1 # gnuplot-ausgabe <strong>in</strong> e<strong>in</strong> file, ausgabeformat: postscript<br />
2 set term<strong>in</strong>al post color solid # ausgabeformat festlegen<br />
3 set output "me<strong>in</strong>plot.ps" # ausgabeziel festlegen<br />
4 repl # plot realisieren<br />
5 set out # ausgabeziel zuruecksetzen<br />
6 set term x11 # w<strong>in</strong>dows, wx # ausgabeformat<br />
zuruecksetzen<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 22
<strong>TikZ</strong><br />
Allgeme<strong>in</strong>es<br />
entwickelt von Till Tantau<br />
baut auf MetaPost, pstricks <strong>und</strong> SVG auf<br />
Gr<strong>und</strong>lage vom beamer-Paket<br />
stark erweiterte Farbverwaltung (mischen, Transparenz)<br />
<strong>TikZ</strong> ist ke<strong>in</strong> Zeichenprogramm<br />
ist Benutzerschnittstelle<br />
Schittstelle zu <strong>Gnuplot</strong> (lua)<br />
Nutzung<br />
E<strong>in</strong>b<strong>in</strong>dung \usepackage{tikz}<br />
neue Umgebung: tikzpicture<br />
außerhalb: \tikz \fill[orange] (1ex,1ex)circle (1ex); ➠<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 23
<strong>TikZ</strong><br />
Allgeme<strong>in</strong>es<br />
entwickelt von Till Tantau<br />
baut auf MetaPost, pstricks <strong>und</strong> SVG auf<br />
Gr<strong>und</strong>lage vom beamer-Paket<br />
stark erweiterte Farbverwaltung (mischen, Transparenz)<br />
<strong>TikZ</strong> ist ke<strong>in</strong> Zeichenprogramm<br />
ist Benutzerschnittstelle<br />
Schittstelle zu <strong>Gnuplot</strong> (lua)<br />
Nutzung<br />
E<strong>in</strong>b<strong>in</strong>dung \usepackage{tikz}<br />
neue Umgebung: tikzpicture<br />
außerhalb: \tikz \fill[orange] (1ex,1ex)circle (1ex); ➠<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 23
<strong>TikZ</strong>: kle<strong>in</strong>e Beispiele<br />
L<strong>in</strong>ie<br />
Haus<br />
Kreis<br />
gefüllter<br />
Kreis<br />
\draw (0pt,0pt)-- (20pt,6pt);<br />
\draw[thick,ro<strong>und</strong>ed<br />
corners=4pt,scale=.5] (0,0)--<br />
(0,2)-- (1,3.25)-- (2,2)--<br />
(2,0)-- (0,2)-- (2,2)-- (0,0)--<br />
(2,0);<br />
\draw (1ex,1ex)circle (1ex);<br />
\fill[red] (1ex,1ex)circle<br />
(1ex);<br />
Kreisbogen<br />
Si-/Cos<strong>in</strong>us<br />
\draw (3mm,0mm)arc (0:30:3mm);<br />
\draw (0,0)s<strong>in</strong> (1,1)cos<br />
(2,0)s<strong>in</strong> (3,-1)cos (4,0)s<strong>in</strong><br />
(5,1);<br />
Textfeld \node[rectangle,draw] (){<strong>TikZ</strong>}; <strong>TikZ</strong><br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 24
<strong>TikZ</strong>: plot Datenfile/Funktion I<br />
Der Code<br />
1 \beg<strong>in</strong>{tikzpicture}<br />
2 \draw[step=1.0cm,very th<strong>in</strong>,lightgray] (-2.0,0.0) grid<br />
(2.0,4.0);<br />
3 \draw[->,thick] (-2.5,0) -- (2.5,0) node[right] {$x$};<br />
4 \draw[->,thick] (0,-0.5) -- (0,4.5) node[above] {$y$};<br />
5 \foreach \x <strong>in</strong> {-2,-1,0,1,2}<br />
6 \draw (\x,-.1) -- (\x,.1) node[below=5pt]<br />
{$\scriptstyle\x$};<br />
7 \foreach \y <strong>in</strong> {0,...,4}<br />
8 \draw (-.1,\y) -- (.1,\y) node[left=5pt]<br />
{$\scriptstyle\y$};<br />
9 \draw[blue,thick] plot[mark=x,smooth] file<br />
{grf/dil_tikz_quadrat.dat};<br />
10 \end{tikzpicture}<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 25
<strong>TikZ</strong>: plot Datenfile/Funktion II<br />
y<br />
4<br />
3<br />
2<br />
1<br />
0<br />
−2 −1 0 1 2<br />
x<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 26
<strong>TikZ</strong>: plot Funktion<br />
Der geänderte Code<br />
1 \beg<strong>in</strong>{tikzpicture}[doma<strong>in</strong>=-2:2]<br />
9 \draw[red,thick] plot[smooth] (\x,{\x*\x});<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 27
<strong>TikZ</strong>: plot Funktion<br />
Der geänderte Code<br />
1 \beg<strong>in</strong>{tikzpicture}[doma<strong>in</strong>=-2:2]<br />
9 \draw[red,thick] plot[smooth] (\x,{\x*\x});<br />
y<br />
4<br />
3<br />
2<br />
1<br />
0<br />
−2 −1 0 1 2<br />
x<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 27
<strong>TikZ</strong>: plot Dreiecksdiagramm I<br />
Der Code<br />
1 \beg<strong>in</strong>{tikzpicture}<br />
2 \coord<strong>in</strong>ate (content) at (90:3cm);<br />
3 \coord<strong>in</strong>ate (structure) at (210:3cm);<br />
4 \coord<strong>in</strong>ate (form) at (-30:3cm);<br />
5 \node [above] at (content) {content oriented};<br />
6 \node [below left] at (structure) {structure oriented};<br />
7 \node [below right] at (form) {form oriented};<br />
8 \draw [thick,gray] (content.south) -- (structure.north<br />
east) -- (form.north west) -- cycle;<br />
9 \small<br />
10 \node at (barycentric cs:content=0.5,structure=0.1<br />
,form=1) {PostScript};<br />
11 \node at (barycentric cs:content=1 ,structure=0<br />
,form=0.4) {DVI};<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 28
<strong>TikZ</strong>: plot Dreiecksdiagramm II<br />
content oriented<br />
ASCII<br />
DVI<br />
XML<br />
HTML<br />
TEX<br />
L A TEX<br />
Word PostScript<br />
PDF<br />
structure oriented<br />
CSS<br />
form oriented<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 29
weitere Beispiele<br />
<strong>Gnuplot</strong>:<br />
<strong>TikZ</strong><br />
<strong>Gnuplot</strong> > Demo<br />
http://www.gnuplot.<strong>in</strong>fo > Demo Gallery<br />
Peter Hedwigs <strong>Gnuplot</strong> <strong>TikZ</strong> term<strong>in</strong>al<br />
http://peter.affenbande.org/gnuplot/<br />
Literatur: Philipp K. Janert (2008/09): <strong>Gnuplot</strong> <strong>in</strong> Action – Understand<strong>in</strong>g<br />
Data with Graphs, 350 pages, ISBN: 1-933988-39-8<br />
http://www.statistiker-wg.de/pgf/tutorials<br />
http://www.texample.net/tikz/<br />
Peter Hedwigs <strong>Gnuplot</strong> <strong>TikZ</strong> term<strong>in</strong>al<br />
http://peter.affenbande.org/gnuplot/<br />
<strong>TikZ</strong>-Dokumentation (pgfmanual.pdf)<br />
Th. Benkert (2008-11-16): <strong>Diagramme</strong> <strong>in</strong> <strong>LaTeX</strong> 30
Glückauf!<br />
Dank an Ingo Riehl, Bullit <strong>und</strong> Mad S<strong>in</strong>.