Grafiken mit TikZ - LaTeX-Kurs der Unix-AG

Grafiken mit TikZ
LATEX-Kurs der Unix-AG
Klemens Schmitt
17.06.2015
TikZ
Libraries
Pakete aufbauend auf TikZ
Zusammenfassung und Ausblick
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
2 / 59
TikZ
Einbindung
Linien
Formen und Füllungen
Farben
Hilfslinien und Zuschneiden
Stile und Punkte
Flussdiagramme und Beschriftungen
Auf andere Grafiken zugreifen
Schleifen und Verzweigungen
Libraries
Pakete aufbauend auf TikZ
Zusammenfassung und Ausblick
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
3 / 59
TikZ
TikZ
I
Bisher: externe Grafiken einbinden
I
I
\includegraphics-Befehl
TikZ - TikZ ist kein Zeichenprogramm
I
Grafiken in LATEX programmieren
Alternativen und Hilfen
I
PSTricks (TikZ für Postscript)
I
externe Grafikprogramme mit TikZ-Export (Inkscape, Matlab, . . . )
I
WYSIWYG-Editoren für TikZ (TikZEdt, QTikZ, . . . )
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
4 / 59
TikZ
Vorteile
I
Vektorgrafik
I
genaue Kontrolle über Positionierung
I
programmierbar, spart Arbeit
I
I
fertige Befehle/Bausteine für technische“ Zeichnungen
”
globale Stildefinitionen
I
gleiche Schriftart wie Dokument
Nachteile
I
steile Lernkurve
I
schlecht für Fotos, Bildmanipulation
I
lange Kompilierzeit
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
5 / 59
TikZ
Einbindung
Prämbel
I \usepackage{tikz}
I \usetikzlibrary{...}
Im Dokument
I \tikz <Befehle>
oder
I \begin{tikzpicture}<Befehle>\end{tikzpicture}
I
Befehle enden immer auf ;
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
6 / 59
TikZ
Linien
I \draw
1
2
3
erzeugt Linien:
\ begin { tikzpicture }
\ draw (0 ,0) -- (0 ,2) -- (1 ,3.25) -- (2 ,2) -- (2 ,0) -(0 ,2) -- (2 ,2) -- (0 ,0) -- (2 ,0) ;
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
7 / 59
TikZ
Linien
Optionen
1
2
3
I
entweder \begin{tikzpicture}[<Optionen>]
I
oder \draw[<Optionen>]
\ begin { tikzpicture }[ thick , rounded corners =8 pt , scale =.8]
\ draw (0 ,0) -- (0 ,2) -- (1 ,3.25) -- (2 ,2) -- (2 ,0) -(0 ,2) -- (2 ,2) -- (0 ,0) -- (2 ,0) ;
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
8 / 59
TikZ
Linien
Formen
I
normale Linie --
I
nur rechtwinklige Wege -| bzw |-
I
Kreisbögen arc (<start>:<end>:<radius>) oder
arc [start angle=<start>, end angle=<end>, radius=<radius>]
I cos, sin
I
Parabeln (<Startpunkt>)parabola bend (<Scheitel>)(<Endpunkt>)
I
Bézier (<Punkt>).. controls (<Punkt>)and (<Punkt>).. (<Punkt>)
Stil
I solid, dotted, dashed
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
9 / 59
TikZ
Linien
1
2
3
4
5
6
\ begin { tikzpicture }[ ultra
\ draw (0 ,0) .. controls
\ draw [ dashed ] (0 ,0) -\ draw (3 ,0) -| (4 ,1) ;
\ draw [ dotted ] (3 ,0) -\ end { tikzpicture }
Klemens Schmitt
thick ]
(1 ,1) and (2 ,1) .. (2 ,0) ;
(1 ,1) (2 ,1) -- (2 ,0) ;
(4 ,1) ;
Grafiken mit TikZ
17.06.2015
10 / 59
TikZ
Linien
I
1
2
3
4
geschlossene Kurven mit cycle
\ begin { tikzpicture }[ line width =7 pt , rounded corners =14 pt ]
\ draw (0 ,0) -- (1.5 ,0) -- (1.5 ,1.5) -- (0 ,0) ;
\ draw (2 ,0) -- (3.5 ,0) -- (3.5 ,1.5) -- cycle ;
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
11 / 59
TikZ
Formen und Füllungen
1
2
3
4
5
6
7
\ begin { tikzpicture }[ line width =3 pt ]
\ fill (0 ,0) rectangle (1 ,1) ;
\ filldraw [ fill = red , draw = blue ] (2 ,0) rectangle (3 ,1) ;
\ shade (4.5 ,.5) ellipse (1 cm and .5 cm ) ;
\ shadedraw [ left color = green , right color = blue ] (6.5 ,.5)
circle (.5 cm ) ;
\ shade [ ball color = red ] (8.5 ,.5) circle (.5 cm ) ;
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
12 / 59
TikZ
Farben
Farben
I
Paket xcolor (auch ohne TikZ, \color...)
I
vordefinierte Farben: red, blue, . . .
Farbe definieren \definecolor{meinefarbe}{<model>}{<Werte>}
I
I
I
I
I
rgb/RGB
cymk
HTML
Mischen mit <Farbe1>!<Prozentwert>!<Farbe2>
\color{gray}{...}
\color[wave]{532}{...}
\definecolor{meinblau}{RGB}{0,0,127}
\color{yellow!50!red}{...}
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
13 / 59
TikZ
Hilfslinien und Zuschneiden
1
2
3
4
5
6
7
\ begin { tikzpicture }
\ draw [ step =.5 cm , gray , very thin ] ( -1.4 , -1.4) grid
(1.4 ,1.4) ;
\ begin { scope }[ green ]
\ clip [ draw ] (3 ,0) circle (1.5 cm ) ;
\ draw [ step =.5 cm , gray , very thin ] (4.4 , -1.4) grid
(1.6 ,1.4) ;
\ end { scope }
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
14 / 59
TikZ
Stile und Punkte
Stile definieren
I
mystyle als Zusammenfassung mehrerer Eigenschaften:
I \tikzstyle{mystyle}=[<Stil>]
I
(ausserhalb der Umgebung)
oder \begin{tikzpicture}[mystyle/.style={<Stil>}]
Punkte definieren
I
Punkte mit Namen versehen:
I \coordinate (<Name>)at (<Koordinaten>)
I
oder \draw (<Punkt>)coordinate (<Name>)...;
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
15 / 59
TikZ
Stile und Punkte
1
2
3
4
5
\ tikzstyle { mystyle }=[ blue , line width =10 pt ]
\ begin { tikzpicture }[ mystyle 2/. style ={ line join = bevel }]
\ coordinate ( Ecke ) at (0 ,1) ;
\ draw [ mystyle , mystyle 2] (0 ,0) -- ( Ecke ) -- (1 ,1) ;
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
16 / 59
TikZ
Flussdiagramme und Beschriftungen
Nodes
1
2
3
4
5
6
I
Beschriftungen mit \node at (<Punkt>)[<Optionen>] {<Text>};
I
Position above,below,left,right
I
Position auf Linien at end/start, (very)near end/start, midway
\ begin { tikzpicture }
\ fill [ gray ] (0 ,0) circle (.1 cm ) ;
\ node at (0 ,0) [ rotate =30] { Text };
\ fill [ gray ] (2 ,0) circle (.1 cm ) node [ left ] {\ LaTeX };
\ draw (3 ,0) -- (4 ,0) node [ midway , above ] { Linie };
\ end { tikzpicture }
xt
Te
Klemens Schmitt
LATEX
Grafiken mit TikZ
Linie
17.06.2015
17 / 59
TikZ
Flussdiagramme und Beschriftungen
1
2
3
4
5
6
7
8
9
10
\ tikzstyle { mycircle }=[ circle , draw , thick ]
\ tikzstyle { myrect }=[ rectangle , draw , thick ]
\ begin { tikzpicture }
\ node [ mycircle ] ( oben ) {\ tiny O };
\ node [ mycircle ] ( mitte ) [ below of = oben ] {\ tiny M };
\ node [ myrect ] ( rechts ) [ right of = mitte ] {\ tiny R };
\ node [ myrect ] ( links ) [ left of = mitte ] {\ tiny L }
edge [ - > , bend left =45] ( oben )
edge [ < -] ( oben ) ;
\ end { tikzpicture }
O
L
Klemens Schmitt
M
Grafiken mit TikZ
R
17.06.2015
18 / 59
TikZ
Auf andere Grafiken zugreifen
I
Bildposition ausserhalb des Bildes merken:
I
I
Bilder ohne eigenen Platzbedarf:
I
1
2
3
remember picture
overlay
Ein roter Punkt \ tikz [ remember picture ] \ node [ circle , fill
= red ] ( node 1) {}; im Text \\
und ein blaues Rechteck \ tikz [ remember picture ] \ node [ fill
= blue ] ( node 2) {};\\
und ein Pfeil \ tikz [ remember picture , overlay ] \ draw [ - > ,
very thick , gray ] ( node 1) to [ bend right =30] ( node 2) ;
Ein roter Punkt
im Text
und ein blaues Rechteck
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
19 / 59
TikZ
Auf andere Grafiken zugreifen
I
Bildposition ausserhalb des Bildes merken:
I
I
Bilder ohne eigenen Platzbedarf:
I
1
2
3
remember picture
overlay
Ein roter Punkt \ tikz [ remember picture ] \ node [ circle , fill
= red ] ( node 1) {}; im Text \\
und ein blaues Rechteck \ tikz [ remember picture ] \ node [ fill
= blue ] ( node 2) {};\\
und ein Pfeil \ tikz [ remember picture , overlay ] \ draw [ - > ,
very thick , gray ] ( node 1) to [ bend right =30] ( node 2) ;
Ein roter Punkt
im Text
und ein blaues Rechteck
und ein Pfeil
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
19 / 59
TikZ
Auf andere Grafiken zugreifen
Hintergrundbilder
I page.<Ort>
1
2
3
4
als Eckpunkte der Seite
\ begin { tikzpicture }[ remember picture , overlay ]
\ draw [ line width =1 mm , opacity =.25] ( current page . north
east ) -- ( current page . south west ) ;
\ draw [ line width =1 mm , opacity =.25] ( current page . center )
circle (3 cm ) ;
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
20 / 59
TikZ
Schleifen und Verzweigungen
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
21 / 59
TikZ
Schleifen und Verzweigungen
I \usepackage{ifthen}
1
2
3
4
5
6
7
8
9
10
11
12
13
\ begin { tikzpicture }[ scale =0.6]
\ path (0 ,0) coordinate ( A ) (12 ,0) coordinate ( B )
(12 ,12) coordinate ( C ) (0 ,12) coordinate ( D ) ;
\ foreach \ i in {1 ,... ,14}{
\ ifthenelse {\ isodd {\ i }}{\ def \ farbe { black }}{\ def \ farbe {
red }}
\ draw [ fill =\ farbe ] ( A ) - -( B ) - -( C ) - -( D ) -- cycle ;
\ path ( A ) coordinate ( TMP ) ;
\ path ( A ) - -( B ) coordinate [ near end ] ( A )
- -( C ) coordinate [ near end ] ( B )
- -( D ) coordinate [ near end ] ( C )
- -( TMP ) coordinate [ near end ] ( D ) ;
}
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
22 / 59
TikZ
Libraries
arrows, decorations
calc
intersections
shapes
spy
external
weitere
Pakete aufbauend auf TikZ
Zusammenfassung und Ausblick
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
23 / 59
Libraries
Bibliotheken
I
erweitern Funktionsumfang
I
einbinden mit \usetikzlibrary{...}
I
falls Beispiele nicht kompilieren, eventuell Libraries einbinden
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
24 / 59
Libraries
arrows, decorations
Dekorationen
I
Verzierungen von Linien
I
I
I
I
saw
zigzag
snake
I
I
coil
brace
expading waves
Pfeilspitzen
I
als Option von Linien [<->]
I
Form globaler festlegen [>=*]
I
I
I
*
o
)
Klemens Schmitt
I
I
I
Grafiken mit TikZ
angle 45
triangle 60
diamond
17.06.2015
25 / 59
Libraries
arrows, decorations
1
2
3
4
5
\ usetikzlibrary { decorations , decorations . text }
\ begin { tikzpicture }[ line width =.1 cm ]
\ draw [ decorate , decoration ={ text along path , text ={
angepasster Text } , text align ={ fit to path stretching
spaces }}] (0 ,0) arc (120:60:3) ;
\ draw [ - > , rotate around ={30:(5 ,0) } , decorate , decoration ={
snake , amplitude =1 cm , segment length =1 cm , post length =.5
cm , pre length =1 cm }](5 ,0) -- (8 ,0) ;
\ end { tikzpicture }
epasster
ang
Klemens Schmitt
Tex
t
Grafiken mit TikZ
17.06.2015
26 / 59
Libraries
calc
Koordinatensysteme
I
Kartesisch (<x>,<y>,<z>)
I
Polar (<Winkel>:<Länge>)
Koordinatenangaben
I
I
I
I
I
Absolut (<x>,<y>)
Relativ +(<x>,<y>)
Relativ (setzt Bezugspunkt neu) ++(<x>,<y>)
Relativer Winkel ([turn]<Winkel>:<Länge>)
Calc-Library
I
Verschiedene Koordinatenangaben mischen: ($ ... $)
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
27 / 59
Libraries
calc
1
2
3
4
5
6
7
8
9
\ usetikzlibrary { calc }
\ begin { tikzpicture }[ thick ]
\ draw [ help lines ] (0 ,0) grid (6 ,2) ;
\ draw [ red ](0 ,1) -- +(1 ,1) -- +(1 , -1) -- ++(2 ,1) -- +(1 , -1) ;
\ coordinate ( A ) at ( $ (5 ,0) +(120:2) $ ) ;
\ coordinate ( B ) at (5 ,0) ;
\ draw [ blue ] ( A ) -- ( B ) -- ([ turn ](90:1 cm ) ;
\ fill [ green ] ( $ ( A ) !.6!( B ) $ ) circle (.1 cm ) ;
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
28 / 59
Libraries
calc
weitere Koordinatensysteme, spezielle Punkte
1
2
3
4
5
6
I
Relative Koordinaten in nodes node cs
I
Tangenten an Kurven tangent cs
I
Schnittpunkte von Kurven
I
spezielle Punkte von vordefinierten Strukturen
\ begin { tikzpicture }[ line cap = rect ]
\ coordinate ( a ) at (0 ,0) ;
\ node [ circle , draw ] ( c ) at (1 ,0) [ minimum size =1 cm ]{};
\ draw ( tangent cs : node =c , point ={( a ) } , solution =1) -- ( a ) ;
\ draw ( tangent cs : node =c , point ={( a ) } , solution =2) -- ( a ) ;
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
29 / 59
Libraries
intersections
1
2
3
4
5
6
7
8
\ usetikzlibrary { intersections }
\ begin { tikzpicture }[ every node /. style ={ opacity =1 , black ,
above left }]
\ draw [ name path = elli ] (1.5 ,0) ellipse (0.75 cm and 1 cm ) ;
\ draw [ name path = rect , rotate =10] (0 ,0) rectangle +(2 ,1) ;
\ fill [ red , opacity =0.5 , name intersections ={ of = elli and
rect }]
( intersection -1) circle (2 pt ) node {1}
( intersection -2) circle (2 pt ) node {2};
\ end { tikzpicture }
1
2
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
30 / 59
Libraries
shapes
shapes
I
vorgefertigte Formen
I
1
2
3
4
5
6
Polygone, Halbkreise, Sterne, . . .
\ begin { tikzpicture }
\ foreach \ a in {3 ,... ,7}{
\ draw [ blue , dashed ] (\ a *2 ,0) circle (0.5 cm ) ;
\ node [ regular polygon , regular polygon sides =\ a , minimum
size =1 cm , draw ] at (\ a *2 ,0) {};
}
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
31 / 59
Libraries
shapes
1
2
3
4
5
6
7
8
\ usetikzlibrary { shapes }
\ tikzstyle { mybox }=[ draw = red , fill = gray !20 , very thick ,
rectangle , rounded corners , inner sep =15 pt ]
\ tikzstyle { ftitle }=[ fill = red , text = white , ellipse ]
\ begin { tikzpicture }
\ node [ mybox , text width =3 cm ] ( box ) {
Ein Text mit Formel $ e = mc ^2 $ .};
\ node [ ftitle ] at ( box . north ) { Frame };
\ end { tikzpicture }
Frame
Ein Text mit Formel e = mc2 .
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
32 / 59
Libraries
spy
1
2
3
4
5
6
\ usetikzlibrary { spy , decorations . fractals }
\ begin { tikzpicture }[ spy using overlays ={ size =12 mm }]
\ draw [ decoration = Koch snowflake ]
decorate { decorate { decorate { decorate {(0 ,0) - -(2 ,0) }}}};
\ spy [ green , magnification =3] on (0.6 ,0.1) in node at
(3 ,0) ;
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
33 / 59
Libraries
external
Grafiken auslagern
I
schnelleres Übersetzen (nur neue Bilder)
I
1
2
braucht Shellzugriff: pdflatex -shell-escape <Jobname>
I
Grafiken auch als Datei für andere Zwecke verwenden
I
einzelne Bilder deaktivieren mit \tikzexternaldisable/enable
\ usetikzlibrary { external }
\ tikzexternalize [ < Optionen >]
Optionen
prefix Speicherordner (eventuell mit \tikzsetnextfilename{<Name>})
mode shell-escape oder Makefile
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
34 / 59
Libraries
external
standalone-Dokumente
1
2
3
4
5
6
I
Bisher: Tikz für Grafiken im LATEX-Dokument
I
So bekommt man die Grafiken aus dem Dokument heraus (gut zum
Testen):
\ documentclass [ tikz , border =0 pt ]{ standalone }
\ begin { document }
\ begin { tikzpicture }
% Grafikbefehle
\ end { tikzpicture }
\ end { document }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
35 / 59
Libraries
weitere
Grafiken einbinden
I
I
externe (Pixel)grafiken einbinden
einmal definieren, oft verwender (kleinere PDFs)
I
I
1
2
3
4
\pgfdeclareimage[<Optionen>]{<Name>}{<Datei>}
\pgfuseimage{<Name>}
\ pgfdeclareimage [ width =2 cm ]{ Logo }{ UnixAG }
\ begin { tikzpicture }
\ node at (0 ,0) {\ pgfuseimage { Logo }};
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
36 / 59
Libraries
weitere
Weitere Libraries
calendar Kalender erstellen
fadings Transparenz, Verläufe
mindmap für Mindmaps
folding Bastelausschneidebögen
pattern Füllungen
shadings weitere Farbverläufe
shadows Schatten
tree Bäume
...
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
37 / 59
TikZ
Libraries
Pakete aufbauend auf TikZ
pgfplots
chemfig
CircuitTikZ
Zusammenfassung und Ausblick
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
38 / 59
Pakete aufbauend auf TikZ
pgfplots
Nur TikZ
I
einfache Plots
I
I
\tikz \draw plot[<Optionen>] file {<Daten.dat>};
kompliziert
I
\datavisualization mit Library
pgfplots
I \usepackage{pgfplots}
I
reltaiv einfach zu bedienen
I
mächtig
I
Achtung: Speicherhungrig, eventuell mit Paket etex
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
39 / 59
Pakete aufbauend auf TikZ
pgfplots
Datenformat
1
2
3
4
5
6
7
I
geht inline, besser: externe Dateien
I
einfache Textdateien
I
exportiert aus Excel, Matlab, o.ä.
x
y
# sinus . dat
0
0
0.3306 0.3246
0.6613 0.6142
...
6.2831 0
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
40 / 59
Pakete aufbauend auf TikZ
pgfplots
1
2
3
4
5
\ begin { tikzpicture }[ scale =.8]
\ begin { axis }[ only marks ]
\ addplot table { sinus . dat };
\ end { axis }
\ end { tikzpicture }
1
0.5
0
−0.5
−1
0
Klemens Schmitt
2
Grafiken mit TikZ
4
6
17.06.2015
41 / 59
Pakete aufbauend auf TikZ
pgfplots
1
2
3
4
5
6
7
\ pgfplotsset {/ pgf / number format / use comma }
\ begin { tikzpicture }[ scale =.7]
\ begin { axis }
\ addplot [ only marks , red ] table { sinus . dat };
\ addplot [ domain =0:2* pi , smooth ]{ cos ( deg ( x ) ) };
\ end { axis }
\ end { tikzpicture }
1
0,5
0
−0,5
−1
0
Klemens Schmitt
2
4
Grafiken mit TikZ
6
17.06.2015
42 / 59
Pakete aufbauend auf TikZ
pgfplots
Gnuplot
I
Volle Gnuplot-Funktionalität
I
I
Fitten
Rechnen
I pdflatex -shell-escape <Jobname>
1
2
3
4
5
6
7
8
9
10
\ begin { tikzpicture }[ scale =.7]
\ begin { axis }
\ addplot +[ raw gnuplot , mark = none ] gnuplot {
f ( x ) = a * sin ( b * x ) ;
a =.5; b =.5;
fit f ( x ) ’ sinus . dat ’ u 1:2 via a , b ;
plot [ x = - pi : pi ] f ( x ) ;
};
\ end { axis }
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
43 / 59
Pakete aufbauend auf TikZ
pgfplots
1
0.5
0
−0.5
−1
−2
Klemens Schmitt
0
Grafiken mit TikZ
2
17.06.2015
44 / 59
Pakete aufbauend auf TikZ
pgfplots
andere Achsen
Logarithmisch
Ploar
Smith-Chart
1
2
3
4
5
6
7
\begin{}
\usepgfplotslibrary{}
loglogaxis
semilogyaxis
ploaraxis
smithchart
polar
smithchart
\ usepgfpl otslibrary { smithchart }
...
\ begin { tikzpicture }
\ begin { smithchart }[ width =14 cm ]
\ addplot coordinates {(0.5 ,0.2) (1 ,0.8) (2 ,2) };
\ end { smithchart }
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
45 / 59
Pakete aufbauend auf TikZ
2
1.5
0.9
1
0.7
0.8
0.6
0.5
pgfplots
0.
4
0.3
3
0.2
4
5
0.1
0
0.1 0.2 0.3 0.4 0.5
1
−0.1
2
3 4 5
10
10 2020
−10
−20
2
−0.
Klemens Schmitt
1.5
Grafiken mit TikZ
17.06.2015
46 / 59
Pakete aufbauend auf TikZ
pgfplots
3D-Plots
I \addplot3 {<Funktion>};
1
2
3
4
5
6
\ begin { tikzpicture }
\ begin { axis }[ view ={60}{30} , xlabel = $ x $ , ylabel = $ y $ ,
title =3 D - Plot ]
\ addplot 3 [ surf ] { - x ^2 - y ^2};
\ end { axis }
\ end { tikzpicture }
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
47 / 59
Pakete aufbauend auf TikZ
pgfplots
3D-Plot
0
−20
−40
−5
0
x
Klemens Schmitt
5
−4 −2
Grafiken mit TikZ
2
0
4
y
17.06.2015
48 / 59
Pakete aufbauend auf TikZ
pgfplots
Legenden
I
mit legend entries-Option der axis-Umgebung
I
mit \addlegendentry nach \addplot
Formatierung
I
I
I
I
legend style
legend pos
legend columns
Referenzen
I
mit \label und \ref
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
49 / 59
Pakete aufbauend auf TikZ
pgfplots
1
2
3
4
5
6
7
8
9
10
11
12
\ begin { tikzpicture }
\ begin { axis }[ domain =0:2* pi , smooth ,
legend pos = outer north east , legend entries ={ Sin , Cos } ,
grid = major ,
extra x ticks ={3.14} , extra x tick labels ={ $ \ pi $ }]
\ addplot [ error bars / y dir = both , error bars / y explicit ]
table [ x index =0 , y index =1 , y error index =1]
{ sinus . dat };\ label { legend : sin }
\ addplot { cos ( deg ( x ) ) };\ label { legend : cos }
\ end { axis }
\ end { tikzpicture }
Das sind Sinus \ ref { legend : sin } und Kosinus \ ref { legend :
cos }.
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
50 / 59
Pakete aufbauend auf TikZ
pgfplots
Sin
Cos
2
1
0
−1
−2
0
Das sind Sinus
Klemens Schmitt
π
2
und Kosinus
4
6
.
Grafiken mit TikZ
17.06.2015
51 / 59
Pakete aufbauend auf TikZ
pgfplots
Weitere pgfplotslibraries
clickable Koordinaten anzeigen lassen
colormaps Weitere Farbschemata
dateplot Für Datumsangaben als Achsen
groupplot Matrizenanordnung von Plots
statistics Für Verteilungen, Fehlergrenzen
...
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
52 / 59
Pakete aufbauend auf TikZ
chemfig
ChemFig
I
Setzt chemische Strukturformeln
I
Bindungen - = ~ >
I
Position [0-7] oder :<Winkel>
I
Ringe mit <atom>*<n>(<andere Atome>)
I
Kann auch komplette Reaktionsmechanismen
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
53 / 59
Pakete aufbauend auf TikZ
chemfig
1
2
3
4
\ chemfig {H - C ~C - CH _3}
\ chemfig {H - C (=[7] O ) ( -[1] OH ) }
\ chemfig {H > C ( <:[:90] H ) ( <:[: -90] H ) <H }
\ chemfig {*5( -= - O -=) }
H
C
C
H
O
Klemens Schmitt
CH3
O
H
OH
H
C
C
H
H
Grafiken mit TikZ
17.06.2015
54 / 59
Pakete aufbauend auf TikZ
CircuitTikZ
CircuiTikZ
I
Für elektrische Schaltungen
I
auch Logikschaltungen
I
Eigene Umgebung circuitikz statt tikzpicture
I \usepackage[european]{circuitikz}
1
\ draw (0 ,0) to [ vR , l = $ R _1 $ , i ^ >= $ i _1 $ ,o -*] (2 ,0) to [L , v = $
u _ L $ ] (4 ,0) to [C ,* - o ] (6 ,0) to [ pD ] (8 ,0) ;
R1
i1
uL
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
55 / 59
Pakete aufbauend auf TikZ
CircuitTikZ
1
2
3
4
5
6
7
8
\ begin { circuitikz }
\ draw (0 ,0) node [ op amp ] ( opamp ) {}
( opamp .+) node [ left ] { $ v _+ $ }
( opamp . -) node [ left ] { $ v _ - $ }
( opamp . out ) node [ right ] { $ v _ o $ }
( opamp . down ) node [ ground ]{}
( opamp . up ) -- ++(0 ,.5) node [ above ] {\ SI {15}{\ volt }};
\ end { circuitikz }
15 V
v−
−
v+
+
vo
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
56 / 59
TikZ
Libraries
Pakete aufbauend auf TikZ
Zusammenfassung und Ausblick
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
57 / 59
Zusammenfassung und Ausblick
Zusammenfassung
I
Grafiken programmieren mit TikZ
I
Funktionalität mit Bibliotheken erweitern
I
Graphen mit pgfplots
Nächste Vorträge
I
Briefe und Lebensläufe
I
Interaktive PDFs
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
58 / 59
Weiterlesen . . .
Vielen Dank für eure Aufmerksamkeit!
Danke an Klaus Denker für einige Beispiele.
TikZ-Pakete Übersicht https://www.ctan.org/topic/pgf-tikz
pgf/TikZ https://www.ctan.org/pkg/pgf
xcolor https://www.ctan.org/pkg/xcolor
pfgplots https://www.ctan.org/pkg/pgfplots
circuitikz https://www.ctan.org/pkg/circuitikz
chemfig https://www.ctan.org/pkg/chemfig
Klemens Schmitt
Grafiken mit TikZ
17.06.2015
59 / 59