22.01.2015 Aufrufe

Diagramme in LaTeX - Gnuplot und TikZ - suedraum

Diagramme in LaTeX - Gnuplot und TikZ - suedraum

Diagramme in LaTeX - Gnuplot und TikZ - suedraum

MEHR ANZEIGEN
WENIGER ANZEIGEN

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>.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!