Die Mathe-Redaktion - 24.11.2017 15:58 - Registrieren/Login
Auswahl
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden oder den Newsletter bestellen.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 743 Gäste und 21 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Stern Werkzeuge: Grafiken in Latex
Freigegeben von matroid am Mi. 23. Dezember 2009 20:48:43
Verfasst von Ueli -   41193 x gelesen [Gliederung] [Statistik] Druckbare Version Druckerfreundliche Version
Software

Bild

Grafiken und Funktionenplots in LaTeX

Dieser Artikel richtet sich an LaTeX Nutzer, welche ein Dokument mit Grafiken erstellen wollen. Bei den Grafiken werde ich vor allem auf Funktions- und Datenplots eingehen, welche in technischen oder mathematischen Dokumentationen oft einen grossen Anteil ausmachen.

Es gibt viele Möglichkeiten ein Bild oder Plot für oder mit LaTeX zu erzeugen. Hier beschränke ich mich auf gnuplot und die LaTeX-Bibliothek TikZ/pgf. Damit können professionelle Resultate erzielt werden, wenn man bereit ist mit etwas Handarbeit nachzuhelfen.

Bild

Inhalt


  • Einleitung
  • Grundlagen zu TikZ
  • TikZ in der Ebene
  • TikZ im Raum
  • Gnuplot, Grafiken erstellen
  • Gnuplot, die Ausgabeformate
  • Und weiter?
  • Links und Bücher
  • Installation von gnuplot


  • Einleitung


    LaTeX ist kein Grafikprogramm und TikZ ist kein Zeichnungsprogramm, sondern die Abkürzung für TikZ ist kein Zeichnungsprogramm. Positiv formuliert ist TikZ eine Bibliothek von Befehlen, mit denen man eine Grafik definieren kann. Wenn TikZ die Benutzerschnittstelle ist, dann ist pgf das, was im Hintergrund geschieht, also die TeX-Makros.
    TikZ/pgf ist somit eine Möglichkeit Grafiken in einem LaTeX-Dokument zu erstellen. Eine andere Möglichkeit, welche hier allerdings nicht behandelt wird, ist PSTricks.
    Die TikZ-Bibliotek ist sehr stark, wenn es um illustrative Diagramme und Baumdarstellungen geht. Diese Dinge sind auch sehr ausführlich im pgf-Manual dokumentiert. In den Bereichen Physik, Mathematik und Ingenieurswesen sind aber vorwiegend Daten- und Funktionenplots gefragt. Der Frage, wie man solche Grafiken erzeugt und in das Latex-Dokument einfügt gehe ich in diesem Artikel nach.
    Um die Plots zu erzeugen wird dabei meistens nicht LaTeX oder TikZ/pgf, sondern das separate Programm gnuplot verwendet. Auf diese Weise sollten sich praktisch alle Darstellungsprobleme der Zielgruppe lösen lassen.
    Die meisten Hinweise gelten auch für andere Mathematikprogramme, man braucht also nicht zwingend gnuplot zu verwenden.

    Viel muss nicht installiert werden, aber  zumindest gnuplot muss man zuerst herunter laden.
    Die Links zu den Anleitungen und Installationsseiten befinden sich im letzten Kapitel.

    An dieser Stelle möchte ich mich noch bei den Mitgliedern der LaTeX-Gruppe bedanken, die mir mit vielen Tips geholfen haben. Allen voran Marco_D, welcher zwar PSTricks bevorzugt, aber auch ein Kenner der anderen Bibliotheken ist. Auch Stefan_K und Dunkit haben viele Fehler und Unschönheiten korrigiert.

    Grundlagen zu TikZ


    LaTeX


    In LaTeX sieht das Ergebnis bekanntlich nicht aus, wie die Eingabe im Editor. Bei den Grafiken tritt dies am deutlichsten zu Tage. Mit dem Paket TikZ ist man in der Lage Bilder textuell zu beschreiben. Zugegeben, es erfordert schon etwas Abstrahierungsvermögen ein Bild in einer Beschreibungssprache zu entwerfen. Nach etwas Übung geht es aber ziemlich gut.
    Nun zum TeX-Dokument. Dieses sollte etwa den folgenden Rahmen aufweisen:
    LaTeX
    \documentclass[a4paper]{scrartcl}
    \usepackage[T1]{fontenc}
    \usepackage[latin1]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage{graphicx}
    \usepackage{tikz}
    \usetikzlibrary{decorations.pathreplacing}
     
    \begin{document}
    .........
    \end{document}
    Zuerst werden all die Pakete geladen, welche für das Layout benötigt werden, darunter "\usepackage{tikz}". Zudem wird die Bibliothek "\usetikzlibrary{decorations.pathreplacing}" hinzu gefügt (Damit können zum Beispiel Klammern im Bild erzeugt werden oder wellige Linien). Diese wird eher selten benötigt und ist daher nicht im TikZ-Grundpaket enthalten. Es gibt viele dieser Zusatzbibliotheken. Ich werde hier aber vorwiegend zeigen, was man mit dem Grundpaket machen kann.

    In das Dokument soll nun ein TikZ-Bild integriert werden. Dieses wird vorzugsweise noch in eine "figure-Umgebung" eingebettet, welche genau gleich, wie auf jede andere Bilddatei wirkt:
    LaTeX
    \begin{figure}[!htbp]
            \begin{tikzpicture}
    		\draw [color=gray]  [step=5mm] (0,-2) grid (7,2);
    	        ....
            \end{tikzpicture}	
    \caption{Bildunterschrift}
    \label{fig:Referenz}
    \end{figure}

    Beim Zeichnen hilft ein Gitterraster sehr. Aus diesem Grund wurde hier der Befehl "\draw [color=gray]  [step=5mm] (0,-2) grid (7,2)" eingefügt. Die Koordinaten sind ohne Angaben in cm gerechnet. Das Gitter beginnt also unten links, im Punkt x=0, y=-2 und geht bis zum Punkt x=7, y=2 nach rechts oben. Die Gitterlinien haben hier einen Abstand von 5mm und sind grau, damit man die Zeichnung besser sieht. Das Gitternetz kann nach Erstellung der Zeichnung wieder auskommentiert (entfernt) werden. Wie in vielen anderen Programmiersprachen wird der Befehl mit einem ";" abgeschlossen.
    Beispiele zum Gitter sind im Abschnitt "Funktionsbilder in der Ebene" zu finden.

    Linien


    LaTeX ist nicht besonders geeignet um Funktionsgrafiken zu berechnen und auch das Grafikpaket Tikz/pgf ist dazu nicht selbst im Stande. Allerdings gibt es in TikZ einige Grundelemente, mit denen man ein einfaches Funktionenbild zusammenstellen kann. Dazu gehören natürlich Geraden, aber auch Kreisbögen, Ellipsen, Parabelbögen und Sinusfunktionen. Mit dem folgenden Tikz-Code werden diese Elemente erzeugt. Zunächst die Geraden und Poligonzüge:
    LaTeX
    \begin{tikzpicture}
    	\draw (0,0)--(1,1)--(2,-0.5);
    	\draw (3,0)--(4,1) {[rounded corners] --(5,0)--(6,1)}--(6,0)--(5,1);
    	\draw[line width=2pt,color=red] (7,0)--(8,0)--(7.5,1)--cycle;
    	\draw[style=dashed] (8.5,0)--(9,1)--(9.5,-1)--(10.5,0);
    	\draw[<-,very thick] (11,0)--(11.5cm,20pt)--(12cm,0pt)--(12.5cm,20pt);	
    \end{tikzpicture}	

    Bild
    Jetzt folgen die krummen Elemente:
    LaTeX
    \begin{tikzpicture}
    	\draw (0,0) arc (-30:270:1cm);
    	\draw (3,0) arc (0:210:1cm and .5cm);
    	\draw (4.5,0) circle (0.5);
    	\draw (6,0) parabola (5,1.5);
    	\draw (7,0) parabola[bend pos=0.5] bend +(0,2) +(3,0);
    \end{tikzpicture}	

    Bild
    Es gibt auch die sinus und die cosinus-Funktionen. Diese funktionieren aber nur im Intervall fed-Code einblenden . Längere Stücke müssen zusammengesetzt werden, wie im nächsten Beispiel gezeigt:
    LaTeX
    \begin{tikzpicture}[xscale=1.57]
            \draw (0,0) sin(1,1) cos(2,0) sin(3,-1) cos(4,0) sin(5,1);
            \draw[color=red] (0,1.5) cos(1,0) sin(2,-1.5) cos(3,0) sin(4,1.5) cos (5,0);
    \end{tikzpicture}

    Bild
    Nun hat man vielleicht das Problem, dass man vom Funktionsgrafen einige Punkte kennt und alles dazwischen möglichst glatt darstellen will. Dazu existieren in TikZ zwei Möglichkeiten: 1. Die Bezier-Kurven und 2. Der geglättete Poligonzug:
    LaTeX
    \draw[line width=2pt] (0,0)..controls(1,1)..(4,0) .. controls (5,0) and (5,1) .. (4,1);
    \draw[color=green, line width=3pt] plot[smooth]coordinates{(6,0)(7,1)(8,0)(9,1)(8,1)};

    Bild

    Flächen


    Auch Flächen lassen sich darstellen. Diese können mit beliebigen Linien umrandet werden:
    LaTeX
    \fill[red] (0,0) rectangle (1,0.5);
    \fill[semitransparent] (0.5,0) rectangle (1.5,0.25);
    \filldraw[color=red, nearly opaque] (3,0) -- (3,1.5) -- (4,1.5) --cycle;
    \filldraw[color=blue!60, shading=ball] (5,1)..controls+(0.3,0.5)and++(-0.3,0.8)..(6.5,1.3)..
            controls+(0,-2)and++(0,-2)..(5,1);
    \begin{scope}[xshift=7.8cm]
    	\draw[fill=green!30] (0,1) -- (180:.75cm) arc (180:240:.75cm);
    	\draw[outer color=red,inner color=white] (.5,0) rectangle (2,1);
    	\shadedraw [shading=axis,shading angle=30] (3,0)--(4,1)--(5,1.3)--(5,-0.5)--cycle;
    \end{scope}
    Bild
    Eine Fläche kann also mit beliebigen Kurvenelementen umrandet werden. Mit den Füllattributen lassen sich viele Farben erzeugen (Die Zeichen "!30" bedeuten, dass die Farbe mit 30% Stärke aufgetragen wird). Mit den "shading"-Argumenten wird eine dreidimensionale Wirkung erzielt.

    Programmschleifen


    Zum Schluss, was die Grundelemente betrifft, noch die Schleifenstruktur. Diese wird oft benötigt, um Achsen zu beschriften.
    LaTex
    % Achsen beschriften
    \foreach \x in {1,2,...,8}
    	\draw (1.5*\x,-0.1) -- (1.5*\x,0) node[below=4pt] {$\scriptstyle \x$};	
    \foreach \y in {-2,-1,0,1,2}
    	\draw (-.1,\y) -- (.1,\y) node[left=4pt] {$\scriptstyle\y$};
    Bild
    Die Laufvariablen "\x" und "\y" wurden für die Beschriftung und die Platzierung der Schrift verwendet. Oft muss man eine Variable noch schieben oder skalieren (hier entspricht 1 der Koordinate 1cm). Um dies zu machen kann man die Grundrechenarten auf die Variablen anwenden.

    Die for-each-Schleife kann mehrere Befehle und auch mehrere Laufvariablen enthalten, wie dieses gekürzte Beispiel aus dem pgf-Manual zeigt:
    Latex
    \foreach \angle / \label in {0/3, 30/2, 60/1, 90/12, 120/11, 150/10, 180/9,
    		210/8, 240/7, 270/6, 300/5, 330/4}  {
    	\draw[line width=1pt] (\angle:1.8cm) -- (\angle:2cm);
    	\draw (\angle:1.4cm) node{\label};
    }
    Bild


    Funktionsbilder in der Ebene mit TikZ/pgf


    Kurven lassen sich mit den beschriebenen Elementen wiedergeben. Für eine ordentliche Darstellung benötigt man aber auch noch das passende Drum und Dran. Einige dieser Mittel werden im nächsten Bild gezeigt:
    LaTeX
    \begin{tikzpicture}
    	%Raster zeichnen
    	\draw [color=gray!50]  [step=5mm] (0,-2) grid (7,2);
    	% Achsen zeichnen
    	\draw[->,thick] (0,0) -- (7.5,0) node[right] {$x$};
    	\draw[->,thick] (0,-2.3) -- (0,2.3) node[above] {$y$};
    	% Achsen beschriften
    	\draw (1,-.2) -- (1,0) node[below=4pt] {$\scriptstyle1$};
    	\draw (3.141,-.2) -- (3.141,0) node[below=4pt] {$\scriptstyle \pi$};
    	\draw (6.283,-.2) -- (6.283,0) node[below=4pt] {$\scriptstyle 2\pi$};	
    	\foreach \y in {-2,-1,0,1,2}
    	\draw (-.1,\y) -- (.1,\y) node[left=4pt] {$\scriptstyle\y$};
    \end{tikzpicture}
    Das Gitterraster ist leicht grau gezeichnet. Mit der prozentualen Sättigung: "!50" wurde das Grau um die Hälfte heller gemacht.
    Um die Achsen nicht zu nah an den Linien zu beschriften wurde ein Offset von 4 Punkten nach unten gewählt: "[below=4pt]".
    \foreach.. ist eine Schleifenkonstruktion mit der Variablen \y, um die Achsenskala automatisch zu erzeugen.
    Bild

    In dieses Raster kann man nun eine Kurve aus den bekannten Grafikelementen einfügen.
    LaTeX
    %Plotten
    \draw [color=red] plot [smooth] coordinates
    	{(0,0) (1,1) (2,0) (3,1) (4,1)(5,1)(6,2)(7,-1)} node[right]{$Ein Plot$};
    \draw [color=blue](2,0) circle (0.1)node[below]{Nullstelle};
    In diesem Plot finden sich verschiedene Schriftarten: Die Schrift "Nullstelle" ist mit der selben Schrift, wie das Dokument gestaltet. "$Ein Plot$" entspricht wegen der Dollarzeichen der mathematischen Schrift, welche ich auch in Diagrammen immer einsetze. Normalerweise wirkt aber die verkleinerte Schrift "\scriptstyle" der Achsenbeschriftungen eleganter, da sich die vielen Beschriftungen sonst bald einmal in die Quere kommen.
    Bild
    Einzelne Punkte einzugeben ist nicht gerade die Beschäftigung, welche man sich für freie Tage wünscht. Darum gibt es die Möglichkeit die Punkte in einem Text-File abzulegen und vom Latex-Dokument aus aufzurufen. Das Text-File sieht dann so aus, im Beispiel heisse es Funktion.txt:
    Text-File mit Werte-Tabelle
    #x	#y
    0	0
    1	1
    2	0
    3	1
    4	1
    5	1
    6	2
    7	-1
    Die Zeilen mit dem # Zeichen werden als Kommentar behandelt, also von pgf ignoriert.
    Solche Tabellen können natürlich einfach von Hochsprachenprogrammen generiert werden. Es kann aber auch Sinn machen sie mit gnuplot zu erzeugen, was wir später noch sehen werden.

    Der Aufruf mit TikZ erfolgt folgendermassen:
    LaTeX
    \draw plot[mark=x,smooth] file {Funktion.txt};
    Hier wurden noch x bei den Datenpunkten auf die Kurve gelegt.

    Will man nur die einzelnen Punkte sehen, kann man das Attribut "only marks" verwenden:
    LaTeX
    \draw plot [only marks, mark=*] coordinates{(3,20)(7,18)(10,20)(14,25)
    			(16,20)(23,22)(25,15)(29,10)(30,12)(35,4)(40,3)(42,-5)(50,-10)(62,-15)};
    Wie dieser Plot aussieht zeigt sich im nächsten Abschnitt, wo noch das Element einer Skalierung eingeführt wird.

    Skalierung


    Die Bilschirmdarstellung misst sich in cm. Die Datenreihen müssen also noch an die Darstellung angepasst beziehungsweise skaliert werden. Dies geschieht hier mit den Attributen xscale und yscale. Diese Skalierung ist gültig im Bereich, welcher mit scope eingeklammert ist.
    LaTeX
    \begin{tikzpicture}
    	\begin{scope}[xscale=0.1, yscale=0.1]
    	 	%Raster zeichnen
    		\draw [color=gray!50]  [step=5cm] (0,-2) grid (7,2);
    		% Achsen zeichnen
    		\draw[->,thick] (0,0) -- (90,0) node[right] {$x$};
    		\draw[->,thick] (0,-25) -- (0,25) node[above] {$y$};
    		\draw plot [only marks, mark=*] coordinates{(3,20)(7,18)(10,20)(14,25)
    			(16,20)(23,22)(25,15)(29,10)(30,12)(35,4)(40,3)(42,-5)(50,-10)(62,-15)};
    		% Achsen beschriften
    		\foreach \x in {10,20,...,80}
    			\draw (\x,-2) -- (\x,0) node[below=4pt] {$\scriptstyle \x$};	
    		\foreach \y in {-20,-10,0,10,20}
    			\draw (-.1,\y) -- (.1,\y) node[left=4pt] {$\scriptstyle\y$};
    	\end{scope}
    \end{tikzpicture}	
    Bild
    Etwas unglücklich ist, dass die Grösse der Markierungspunkte auch skaliert wird und diese hier desshalb ziemlich klein erscheinen. Es besteht die Möglichkeit diese Markierungspunkte selbst zu definieren. Wie das geht, steht im pgf-Manual.

    Polarkoordinaten


    Pgf ist auch im Stande Polarkoordinaten zu rechnen. Diese können implizit angegeben werden, indem man für die Punkte zuerst den Winkel und dann (getrennt durch einen Doppelpunkt) den Radius mit Masseinheit angibt. Das folgende Beispiel zeigt die Verwendung von Polarkoordinaten.
    LaTeX
    \begin{tikzpicture}
    	\foreach \angle in {0,30,...,330} {
    		\draw (\angle:3cm) -- (\angle+30:1cm);
    		\draw (\angle:3.3cm) node {\angle};
    	}	
    	\filldraw[fill=green!20,draw=green!50!black] (0,0) -- (10mm,0mm) arc
    		(0:30:10mm) -- cycle;
    \end{tikzpicture}
    Bild

    Darstellungen im Raum mit TikZ


    Mit TikZ/pgf können auch Flächen und andere dreidimensionalen Objekte dargestellt werden. Es gibt aber eine Einschränkung: die Richtung der z-Achse ist gegeben (Diese ist immer eine 45° Gerade. Die x-y-Achsen sind die gleichen, wie in der ebenen Darstellung.
    LaTeX
    \begin{tikzpicture}[z=-0.5cm,->,thick]
    	\draw[color=red] (0,0,0) -- (5,0,0);
    	\draw[color=blue] (0,0,0) -- (0,5,0);
    	\draw[color=orange] (0,0,0) -- (0,0,5);
    	\filldraw[semitransparent] (4,0,0) -- (0,4,0) -- (0,0,4) --cycle;
    \end{tikzpicture}	
    Die z-Achse wurde hier so gelegt, dass sie mit -0.5cm in x- und -0.5cm in y-Richtung skaliert ist.
    Bild
    Das Dreieck ist damit räumlich dargestellt. Die Achsen sind allerdings immer gleich angeordnet. Aber doch, etwas lässt sich noch machen, man kann das xy-System transformieren. Man kann zum Beispiel beiden Achsen eine neue Position in der xy-Ebene zuweisen:
    LaTeX
    \begin{tikzpicture}[z=-0.3cm,->,thick]
    	\begin{scope}[x={(1cm,-0.1cm)},y={(-0.1cm,1cm)}]
    		\draw[,color=red] (0,0,0) -- (5,0,0);
    		\draw[color=blue] (0,0,0) -- (0,5,0);
    		\draw[color=orange] (0,0,0) -- (0,0,5);
    		\filldraw[semitransparent] (4,0,0) -- (0,4,0) -- (0,0,4) --cycle;
    	\end{scope}
    \end{tikzpicture}	
    Das Dreieck steht nun in einem schiefen System:
    Bild
    Es gibt übrigens noch weitere Koordinatentransformationen in der x-y-Ebene.
     
    Nicht nur Dreiecke lassen sich konstruieren, auch beliebig berandete Flächen sind möglich:
    LaTeX
    \begin{tikzpicture}[z=-0.3cm,thick]
    	\draw[->,color=red] (0,0,0) -- (5,0,0);
    	\draw[->,color=blue] (0,0,0) -- (0,5,0);
    	\draw[->,color=orange] (0,0,0) -- (0,0,5);
    	\shadedraw  [shading=axis,shading angle=100, semitransparent]
    		plot [smooth cycle] coordinates{(3,4,0)(7,3,2)(1,4,3)};	
    	\filldraw[color=red!30, semitransparent](0,1,5) -- (4,4,6) {[rounded corners]
    	 	--(1,3,0) --(3,4,2)} --(6,2,1)--(5,0,6)--cycle;
    	\draw (5,3.5,0)node[right]{Fl\"ache};
    \end{tikzpicture}	
    Bild

    Zum Schluss noch eine Punktedarstellung im Raum:
    LaTeX
    \begin{tikzpicture}[z=-0.3cm,thick]
    	\draw[->,color=red] (0,0,0) -- (5,0,0);
    	\draw[->,color=blue] (0,0,0) -- (0,5,0);
    	\draw[->,color=orange] (0,0,0) -- (0,0,5);
    	\shadedraw  plot [only marks, mark=*] coordinates{(3,4,0)(7,3,5)(3,4,7)(-1,2,3)(3,4,0)};	
    	\draw (5,3.5,0)node[right]{Punkte im Raum};
    \end{tikzpicture}	

    Bild


    Gnuplot, Grafiken erstellen


    Grundlagen


    Gnuplot in seiner reiner Form ist ein Kommandozeilentool. Zuerst mag man erstaunt sein, dass so ein kleines Programm ohne grafische Oberfläche einen grossen Nutzen bringen soll. Doch für unsere Zwecke gibt es kaum ein besseres Programm. Gnuplot ist zudem bestens dokumentiert, im Anhang sind einige Links zu finden. Einige grundsätzliche Dinge, um den Einstieg zu erleichtern, sind in diesem Abschnitt zu finden.

    Hat man gnuplot installiert und ruft es auf, so sieht man etwas Text und diesen promt:
    gnuplot
    gnuplot>
    Den ersten Befehl, den man kennen sollte ist "set terminal" (man kann auch abkürzen zu "set term"). Das Terminal ist die Ausgabe. Wenn man eine Bildschirmanzeige unter Mac OS-X will kann man zum Beispiel das x11-Terminal zur Anzeige verwenden (Befehle mit Return abschliessen):
    gnuplot
    gnuplot> set terminal x11
    Terminal type set to 'x11'
    Options are '0'
    gnuplot>
    Nun gibt es noch viele andere Terminals, zum Beispiel für die Ausgaben in verschiedenen Dateiformaten. Mit dem "help"-Befehl lassen sich diese auflisten und genauer beschreiben.
    gnuplot
    gnuplot> help terminal
     Gnuplot supports a large number of output formats......
    Subtopics available for terminal:
        aed512            aed767            aifm              aqua
        bitgraph          cgm               corel             dumb
        dxf               eepic             emf               emtex
        epslatex          epson-180dpi      epson-60dpi       epson-lx800
        fig               gif               gpic              hp2623a
        hp2648            hp500c            hpdj              hpgl
        hpljii            hppj              imagen            jpeg
        kc-tek40xx        km-tek40xx        latex             mf
        mif               mp                nec-cp6           okidata
        pbm               pcl5              png               pop
        postscript        pslatex           pstex             pstricks
        push              qms               regis             selanar
        starc             svg               tandy-60dpi       tek40xx
        tek410x           texdraw           tgif              tkcanvas
        tpic              vttek             x11               xlib
     
    Subtopic of terminal:
    Man erkennt sofort viele bekannte Formate, wie zum Beispiel die Pixel-Formate gif, png und jpeg. Einige Formate dienen der Bildschirmausgabe auf verschiedenen Systemen, wie x11 unter Unix und aqua unter MAC OS-X.
    Will man ein File erzeugen, so muss noch ein File-Name angegeben werden mit "set output 'Filename'. Was in dieser Aufzählung fehlt ist die Ausgabe als Tabelle. Diese wird nicht mehr über ein Terminal erzeugt, sondern direkt mit: set table "Filename". Ein Beispiel ist im Kapitel Ausgabeformate gegeben.

    Die plot-Funktionen


    In den folgenden Abschnitten werden einige Plots gezeigt. Dabei werden Konfigurationsbefehle verwendet, welche ich zuerst kurz vorstellen will:

    Zuerst die beiden wichtigsten Plot-Befehle:
    plot Funktion(x): 2d Plot
    splot Funktion(x,y): 3d Plot
    Man kann diesen Befehlen noch eine Menge Attribute nachschieben. Diese können aber ebenso gut einzeln gesetzt werden:
    set title "Eine Grafik" :Titel der Grafik
    set xlabel "Weg (mm)": Beschriftung der x-Achse
    set ylabel "Spannung (Volt)"
    set xrange [1:25]: Wertebereich der x-Achse
    set yrange [0:2]: Wertebereich der y-Achse
    set autoscale: oder gnuplot schaut doch besser selbst für den Bereich
    set logscale: doppelt logarithmische Skala
    unset logscale; set logscale y : doch lieber nur die y-Achse logarithmisch
    set xtics (0.5,1,1.5,2): Markierungen auf die Achse setzen

    set contour: mit diesem Befehl kann man Höhenlinien zeichnen lassen. Oft ist solch eine Konturenkarte besser lesbar als die spektakulärere perspektifische Grafik.

    Um zu sehen, was man gemacht hat, dient der Befehl:
    replot: nochmals zeichnen
    Manchmal will man die 3d Darstellung noch etwas drehen vor dem Speichern und auch den angezeigten Ausschnitt genauer bestimmen:
    set view 70,80,1.0,0.5
    Die ersten zwei Zahlen sind Betrachtungswinkel in Grad (zuerst die Drehung um eine Achse in der x-y-Ebene, dann um die z-Achse), die dritte Zahl ist der Skalierungsfaktor der x-y-Ebene, die Letzte die Skalierung der z-Achse.
    Die Winkel kann man zuerst mit dem interaktiven Fenster einstellen und dann für eine Ausgabe im File fixieren.

    Eingabe der Daten in gnuplot


    Eingabe mit Formel


    Gnuplot kann sowohl Tatentabellen in eine Darstellung umwandeln, als auch Daten aus einer formelmässigen Eingabe verarbeiten.
    Als erstes wollen wir eine einfache mathematische Funktion y=f(x) darstellen. Als Funktion wähle ich fed-Code einblenden
    Auf der gnuplot-Konsole sollte etwa folgendes stehen:
    gnuplot
    gnuplot> set terminal x11
    Terminal type set to 'x11'
    Options are '0'
    gnuplot> plot sin(x)
    gnuplot> set output "sin.png"
    gnuplot> set terminal png
    Terminal type set to 'png'
    Options are 'nocrop medium '
    gnuplot> replot
    Der erste Teil des Codes dient dazu den Sinus auf dem Bildschirm darzustellen (X11). Im zweiten Teil wird ein File erzeugt (Was im nächsten Abschnitt behandelt wird). Dieses habe ich hochgeladen:
    Bild

    Als nächstes soll eine Fläche dargestellt werden:
    gnuplot
    gnuplot> set hidden3d
    gnuplot> set isosamples 40
    gnuplot> set xrange [-2.5:2.5]
    gnuplot> set yrange [-2.5:2.5]
    gnuplot> set zrange [0.0:5.0]
    gnuplot> set xtics 0.5
    gnuplot> set ytics 1.0
    gnuplot> set ztics 0.5
    gnuplot> set view 40,50,1.0,1.5
    gnuplot> f(x,y)=(x**2+2.5*y**2-y)*exp(1-(x**2+y**2))
    gnuplot> splot f(x,y)
    Bei der Eingabe der Funktion fällt die Potenzfunktion auf. Statt mit "^" wird sie in gnuplot mit "**" geschrieben.
    Bild

    Eingabe mit Tabellen


    Oft soll nicht eine analytische Funktion, sondern Daten aus unterschiedlichen Quellen dargestellt werden. Diese müssen als Text in Tabellen abgelegt sein.
    Die Werte in einer Tabelle sollen jetzt mit gnuplot gezeichnet werden. Um ein Gitternetz zu erzeugen, wird zwischen den einzelnen Blöcken ein Abstand eingeführt.
    Funktion3d.txt
    #x 	y  	z
    0 	0.7	0
    0	1	1
    0	1.5	2
     
    1	1.2	0
    1	1.4	1
    1	1.7	2
     
    2	2.3	0
    2	2.5	1
    2	3	3
    gnuplot
    gnuplot> set xrange [0:3]
    gnuplot> set yrange [0:3]
    gnuplot> splot "Funktion3d.txt" using 1:2:3 with lines
    Bild







    Gnuplot - Die Ausgabeformate


    Ausgabe als Bilddatei


    Will man den Plot als File in sein Dokument einbinden, so benötigt man oft zwei Formate. Für Latex und dvips kann man nur postscrip Formate verwenden. Beim professionellen Druck werden dann diese eps-Files verwendet (eps- und pdf- können Vektor und Pixelgrafiken enthalten). Für Zuhause will man oft nur ein pdf erzeugen. Gnuplot kennt die Ausgabeform png und jpeg, welche eingebunden werden können. Nun sind das aber Pixelformate, wenn man diese vergrössert, sieht man die Treppen bei schrägen Linien.
    Integriert man beide Dateien, eine eps und zum Beispiel eine png Datei in das gleiche Verzeichnis, wie die tex-Datei, so wird jeweils das richtige File aufgerufen, je nachdem, ob man ein pdf oder ein eps compiliert.
    gnuplot
    set output "Datei1.eps"
    set terminal postscript eps
    replot
    set output "Datei1.png"
    set terminal png
    replot

    Falls man keine besondere Ansprüche an die pdf-Ausgabe stellt, ist diese Vorgehensweise zufriedenstellend. Dass die Pixelgrafik nicht die gleich hohe Qualität aufweist, wie die Vektorgrafik (eps, pdf) zeigen die folgenden Vergrösserungen:
    Bild  Bild
    Das pdf Bild ist ohne Verlust skalierbar. Beim png Bild rechts stört vor allem die Schrift, welche in der Vergrösserung ziemlich plump wirkt.

    Dieses Problem kann man umgehen, indem gnuplot nur eine eps-Grafik erzeugt. Das File für's pdf erzeugt man nun, indem man die eps-Grafik in eine pdf Grafik verwandelt. Beispielsweise mit Open-Office oder Neo-Office geht das, indem man die eps Grafik öffnet, das Blatt beschneidet und das ganze als pdf-Grafik exportiert.
    Mit dem Terminal "aquaterm" auf MAC OS-X können direkt .eps- und .pdf-Files erzeugt werden, was die Sache natürlich sehr vereinfacht.
    Aber auch LaTeX besitzt ein Programm, um eps in pdf zu konvertieren. Es lautet epstopdf.

    Die Beschriftungen der Achsen sollten mit den Schriftarten im tex-Dokument übereinstimmen. Für die eps-Ausgabe besteht die Möglichkeit die Schriftart zu wählen. Mit den folgenden Zeilen wird die Datei "exp.eps" erzeugt.
    gnuplot
    gnuplot> set terminal postscript enhanced "Helvetica" 16
    gnuplot> set title "Damping Function" font "Times-Roman,40"
    gnuplot> set xlabel "X-AXIS" font "Helvetica,20"
    gnuplot> set ylabel "Y-AXIS" font "Times-Italic,32"
    gnuplot> set output "exp.eps"
    gnuplot> plot exp(-x)
    Bild
    Natürlich muss im Vorfeld geplant werden, welche Schriften zu verwenden sind. Dazu gehört auch die Grösse, da das Bild eventuell noch skaliert wird beim Einbinden.

    Einbindung in Latex


    Die Bilddatei, welche sich im gleichen Ordner, wie die tex-Datei befinden soll, kann nun in eine picture-Umgebung eingebunden werden. Wichtig ist jetzt noch, dass das Bild die richtige Grösse erhält. Mit dem Attribut "scale" kann das Bild verkleinert oder vergrössert werden. Sind aber die beiden Grafikdateien (pdf und eps) nicht gleich gross in der Darstellung, so werden sie auch im Dokument verschieden sein. Sinnvoller ist deshalb der Grafik eine absolute Länge oder Höhe zu geben:
    Latex
    \begin{figure}[htbp]
    	\includegraphics[width=20cm]{Datei1}
            \caption{Sinus aus Datei}
            \label{fig:PiR}
    \end{figure}
    Die Datei wird ohne Endung aufgerufen, damit sich der jeweilige Compiler das richtige Format suchen kann.

    Ausgabe in Latex-Code


    Mit gnuplot lässt sich auch LaTeX-Code erzeugen. Das ist aber nicht der schöne, knappe TikZ-Code. Diese Ausgabe erzeugt nichts als kleine Rechtecke und natürlich Beschriftungen.

    Vorteile:
    - Die Orginal-Schriften aus dem tex-Dokument werden eingebunden.
    - Der Code lässt sich von Hand bearbeiten (z.B. die Position der Beschriftungen)
    Nachteile:
    - Der Code hat etwa 1000 Zeilen.
    - Die Klötzchendarstellung schräger Linien ist nicht so schön.

    Ein Beispiel soll dies veranschaulichen:

    Ein errechnetes Potential ist in einer Tabellen-Datei (Resultate-3.txt) abgelegt. Diese Daten werden nun dargestellt:
    gnuplot
    gnuplot> set terminal latex
    Terminal type set to 'latex'
    Options are '(document specific font)'
    gnuplot> splot 'Resultate-3.txt' with lines
    gnuplot> set output "Potential.tex"
    gnuplot> replot
    Es wurde folgendes Latex-Bild erzeugt:
    Bild
    Dagegen ist die Ausgabe als png-Datei etwas schöner, wenn man mal von der Schrift absieht:
    Bild
    Mit folgendem Code kann die Datei "Potential.tex" in Latex eingefügt werden. Es ist aber auch möglich den ganzen Code zu kopieren und einzufügen
    Latex
    \begin{figure}[htbp]
    	\include{Potential}
    \caption{Eine Potentialdarstellung}
    \label{fig:potential}
    \end{figure}
    Betrachtet man den erzeugten Code, so sieht man, dass vor allem kleine Rechtecke (\rule..) erzeugt werden. Diese werden einzeln mit \put oder mehrfach mit \multiput gesetzt. Die unterste Zeile im folgenden Codebeispiel setzt die Zahl 0 zur Achsenbeschriftung. Diese kann bei Bedarf geändert werden, indem man einfach den Latex-Code anpasst.
    Latex
    % GNUPLOT: LaTeX picture
    \setlength{\unitlength}{0.240900pt}
    \ifx\plotpoint\undefined\newsavebox{\plotpoint}\fi
    \begin{picture}(1500,900)(0,0)
    \sbox{\plotpoint}{\rule[-0.200pt]{0.400pt}{0.400pt}}%
    \multiput(212.00,242.58)(1.153,0.500){339}{\rule{1.022pt}{0.120pt}}
    ...
    \put(192,224){\makebox(0,0)[r]{ 0}}
    ...

    Ausgabe als Tabelle


    Wie wir bereits gesehen haben, lassen sich mit TikZ zweidimensionale Grafiken mit Datentabellen erstellen. Solche Tabellen lassen sich mit gnuplot erzeugen, wie im nächsten Beispiel gezeigt wird.
    gnuplot
    gnuplot> set table "Tabelle.txt"
    gnuplot> set xrange [0:7]
    gnuplot> plot sin(x)
    Diese gnuplot-Befehle generieren eine Tabelle. Im folgenden Quelltextbereich ist der Beginn aus dieser Tabelle zu sehen:
    gnuplot-Tabelle
    #Curve 0 of 1, 100 points
    #x y type
     0  0  i
     0.0707071  0.0706482  i
     0.141414  0.140943  i
     0.212121  0.210534  i
    .....
    Die Zeilen mit "#" sind Kommentare und auch die Spalte mit den "i" wird ignoriert.

    Einbindung in Latex


    Diese Tabellenwerte können mit TikZ/pgf verarbeitet werden, indem das Tabellenfile aufgerufen wird.
    TikZ
    \draw plot[mark=x, mark repeat=10, smooth] file {Tabelle.txt};
    Das Tabellen-File wird mit "file {filename}" angesprochen. Damit nicht zu viele Punkte markiert sind, sondern zum Beispiel nur jeder zehnte, wird die Option "mark repeat=10" eingefügt.
    Das Bild sieht dann wie folgt aus und kann noch mit Achsen oder anderem "Schmuck" versehen werden.
    Bild

    Und Weiter?


    In diesem Artikel konnte natürlich nur eine kleine Auswahl behandelt werden zum Thema Grafiken und Plots. TikZ/pgf bietet eine Menge weiterer Möglichkeiten. Im pgf-Manual ist beispielsweise viel zur Darstellung von Baumstrukturen zu finden.
    Im Anhang finden sich auch einige Links zum mächtigen Gnuplot.
    Leider findet man immer nur das, was funktioniert und schön aussieht. Was nicht geht, oder wo es einen work-around braucht geht hoffentllich aus dem Artikel hervor. Die Frage, ob Tikz/pgf das Beste ist, kann ich nicht beantworten. Es ist das selbe wie mit den Betriebssystemen. Der Eine kommt mit Linux zum Ziel, der Andere bevorzugt Windows. Mit der Zeit beherrscht man sein Werkzeug immer besser.

    Im folgenden sollen noch einige weitere Möglichkeiten mit den Mitteln aus dem Artikel und auch Alternativen angesprochen werden.

    pgfplots


    Dieses Zusatzpaket bietet eine Menge Plot-Befehle für zwei und dreidimensionale Darstellungen. Darunter logarithmische Skalierungen und Flächen im Raum. Ebenso hat es mathematische Fähigkeiten für die Darstellung expliziter Formeln.
    Mit diesem Paket wird man gnuplot nur noch selten verwenden müssen. Bei grossen Datenmengen oder der Generierung von Tabellen wird man aber sicher noch gerne darauf zurückgreifen.
    Dieser Beispiel-Code aus dem Manual:
    LaTeX
    \usepackage{pgfplots}
    \pgfplotsset{compat=newest}
    ...
    \begin{tikzpicture}
    	\begin{axis}[
    		xlabel=Variable 1,
    		ylabel=Variable 2,
    		zlabel=value,
    		xlabel style={sloped like x axis},
    		ylabel style={sloped} ]
    		\addplot3[surf] {y*x*(1-x)};
    	\end{axis}
    \end{tikzpicture}
    Erzeugt folgende Grafik
    Bild
     

    Automatisierung


    Gnuplot aus TikZ aufrufen


    Wer es etwas komfortabler haben will, kann gnuplot direkt aus TikZ aufrufen (für zweidimensionale Grafiken). Dies klappt aber nicht immer. Der Grund ist, dass die Sicherheitseinstellungen oft verbieten Programme vom LaTeX-File aus aufzurufen. Folgende TikZ-Zeile wird also unter Umständen nicht funktionieren:
    LaTeX
    \draw[color=blue] plot[id=sin] function{sin(x)} node[right] {$f(x) = \sin x$};
    Ruft man den pdf-Compiler von der Konsole auf, so funktioniert normalerweise folgender Befehl:
    Konsole
    pdflatex --shell-escape [dateiname].tex
    Zunächst wird ein Konfigurationsfile für Gnuplot erzeugt. Gnuplot gibt eine Tabelle aus, wie im vorangehenden Kapitel beschrieben. Die Tabelle mit den Datenpunkten wird dann wieder in ein File abgelegt und in das TikZ Bild eingebaut. Eine Anleitung findet sich hier:
    Gnuplot aus Tikz aufrufen (Deutsch)

    Übrigens: Bei Editoren mit integrierten Compilern (Texshop) funktioniert diese Vorgehensweise nicht.

    Gnuplot automatisieren


    Dass gnuplot ein Kommandozeilentool ist hat einen gewichtigen Vorteil. Man kann ein Skriptfile schreiben oder auch aus einem C-Programm heraus gnuplot aufrufen und eine ganze Grafik-Galerie erzeugen lassen.

    PSTricks


    PSTricks ist zwar nicht kommerziell, aber doch so etwas wie ein Konkurrenzprodukt zu TikZ/pgf. Da ich mich nicht damit auskenne, habe ich es hier auch nicht behandelt.
    PSTricks ist meiner Meinung nach etwas schwieriger zu gebrauchen, hat aber auch einige gewichtige Vorteile:
    - Einige Grafiken, welche nicht mit TikZ/pgf erzeugt werden können, wie 3d-Plots, lassen sich mit PSTricks darstellen.
    - Es gibt umfangreiche Dokumentationen in Deutsch von Herbert Voß in Buchform
    Zumal wir noch mindestens einen Fachmann auf dem Matheplaneten haben, ist PSTricks durchaus zu empfehlen.

    Bilder nachbearbeiten


    Mit dem overpic-Paket kann nachträglich in eine Grafik gezeichnet werden. Dies ist zum Beispiel dann nützlich, wenn man ein Plot mit einer schönen Formel versehen will. In Latex Code sieht es dann so aus:
    Latex
    \usepackage[percent]{overpic}
    ....
    \begin{overpic}
    	[scale=.5,grid,tics=5]
    	{Datei1}
    	\put(12,60){$\sideset{_a^b}\sum$};
    \end{overpic}
    Die Bibliotek overpic wurde mit prozentueller Skalierung geladen (man kann auch promille (permil) verwenden. mit dem \put-Befehl kann nun an einer beliebigen Stelle in der Grafik aus Datei1 ein Latexelement eingefügt werden. Was das Summenzeichen in der Sinus-Grafik verloren hat, kann ich allerdings nicht logisch begründen.
    Bild
    Im Bild sind noch die Gitternetzlinien eingezeichnet. Diese dienen der einfacheren Positionierung und werden natürlich wieder gelöscht für das Endergebnis.
    Was ausserdem noch stört ist die Bezeichnung "sin(x)", da wir ja oft genau diese Bezeichnung ersetzen wollen. Dies erreicht man in gnuplot mit "set nokey"

    TikZ-Code mit der Maus


    Nicht jeder hat seine Freude mit der textuellen Eingabe von TikZ. Auf folgender Seite finden sich Zeichnungsprogramme und Konverter um TikZ-Code zu erzeugen:
    Konverter nach TikZ (Englisch)

    Code zum Weihnachtsbaum


    Bild
    LaTeX
    .......
    \usepackage{tikz}
    \usetikzlibrary{decorations.pathmorphing}
    \usetikzlibrary{decorations.markings}
    \usetikzlibrary{decorations.pathreplacing,decorations.pathmorphing}
    \usepgflibrary{decorations.shapes}
    \usepgflibrary{shapes.geometric}
    .........
    \begin{tikzpicture}
    %	\draw [color=gray]  [step=5mm] (0,-2) grid (7,6);
    	%Stamm
    	\filldraw [color=red!80!green] (1.6,-1) rectangle (1.9,0);	
    	%Tanne
    	\filldraw[color=green!50!blue](0,0)--(1,2)--(0.5,2)--(1.5,3.5)--(1,3.5)--(1.75,5)--
                   (2.5,3.5)--(2,3.5)--(3,2)--(2.5,2)--(3.5,0)--cycle;
    	%Girlande
    	\draw [blue, decorate, decoration={coil,aspect=0}] (0.1,0.2)--(2.7,1)--(1,1.7)--
                   (2.3,2.6)--(1.4,3.2); 	
    	%Stern
    	\node [star, fill=yellow, star point height=7pt, minimum size=0.4cm, draw] at (1.75,5){};
    	%Kerzen
    	\foreach \x/ \y in {0.6/0.15, 1.8/.9, 2/2, 2.8/.6, 2.7/2.2, 1/2.2, 1.4/2.8, 2/3.3, 1.4/4}
    	{
    		\shadedraw [shading=axis,shading angle=90](\x-.05,\y) rectangle (\x+.05,\y+.4);
    		\filldraw [color=yellow] (\x,\y+.8) -- (\x+.06,\y+.6) {[rounded corners] -- (\x+.06,\y+.4)
                           -- (\x-.06,\y+.4)} -- (\x-.06,\y+.6) -- cycle;
    	}
    	%Kugeln
    	\foreach \x/ \y in {0.5/-0.15, 2/0, 1.6/.9, 2/1.8, 3/.3, 2.7/1.9, .8/2, 1.6/2.8, 2.2/3.7, 1.6/4.2}
    		\shade [ball color=red] (\x,\y) circle (5pt);
    	%Geschenk TikZ
    	\draw [fill=red!20] (2.2,-1) rectangle (3.4,-.2);
    	\draw (2.8,-.6) node {TikZ};
    	%Geschenk gnuplot
    	\draw [fill=blue!30](0,-1.1) -- (1.5,-1)--(1.45,-.4)--(-.05,-.5)--cycle;
    	\draw (0,-1.1) -- (1.5,-1) node[midway,sloped,above] {gnuplot};
    \end{tikzpicture}

    Links und Bücher


    TikZ


    Zunächst benötigt man das pgf-Manual. Die Version 2 hat nun 560 Seiten und man ist froh um die Suchfunktion:
    Das pgf-Manual, Vers. 2  (Englisch)
    Der nächste Link führt zu vielen schönen Beispielen:
    Beispiele zu tikz/pgf (Englisch)
    Wer lieber mit der Maus zeichnet oder von einem anderen Programm zu TikZ konvertieren will, findet auf den selben Seiten einige Möglichkeiten:
    Konverter nach TikZ (Englisch)
    Viele Plot-Funktionen sind in diesem Paket zu finden:
    Plots in TikZ (Englisch)

    gnuplot


    gnuplot Hauptseite (Englisch)
    Will man gnuplot besser kennen lernen oder hat noch Fragen, so sollte man unbedingt auf dieser hervorragend strukturierten Seite nachschauen:
    Alles über gnuplot (Englisch)
    Viele Beispiele sind auf folgenden Seiten zu finden:
    Beispiele mit  gnuplot (Englisch)
    gnuplot Beispiele  (Englisch)
    Einige Web-Seiten sind auch in Deutsch:
    gnuplot Einführung  (Deutsch)

    Bücher


    Im folgenden Buch von Joachim Schlosser findet sich ein Kapitel über die Erstellung und Einbindung von Grafiken:
    Wissenschaftliche Arbeiten mit LaTeX  (Deutsch)
    Will man mit PSTricks arbeiten, so greift man am Besten zu folgendem Werk von Herbert Voß:
    PSTricks  (Deutsch)


    Installation von gnuplot


    pgfplots


    Zunächst sollte man überprüfen, ob nicht die Funktionen von pgfplots ausreichen.
    Hat man die Files geladen, kann man sie im entsprechenden Bibliotheken-Ordner ablegen. Falls es nicht funktioniert (Die Files von LaTeX nicht gefunden werden), kann man die .sty-Files ins Verzeichnis der .tex-Datei legen. Die Style-Files lauten:
    pgfplots.sty
    pgfplotstable.sty
    Das sollte immer gehen. Auf dem ausführlichen Manual der Webseite finden sich auch zur Installation viele Hinweise:
    pgfplots (Englisch)

    gnuplot


    Die gnuplot-Seite findet man unter:
    gnuplot (Englisch)
    Gnuplot wird oft von anderen Programmen genutzt und daher gleich mit installiert (z.B. mit Octave). Natürlich besitzen auch viele kommerzielle Programme die nötigen Ausgabeformate für LaTeX. Nicht jeder wird daher gnuplot installieren müssen oder wollen.

    Zur Installation auf verschiedenen Systemen sind hier einige Links:
    Installation (Windows)
    Installation (Ubuntu-Linux)
    Installation (MAC OS-X)
    Unter MAC OS-X bestehen zwei Möglichkeiten (Terminals) um die Grafiken auf den Bildschirm zu bringen: aquaterm und das X-Window-System. Zuerst sollte mindestens eins der beiden Anzeigeprogramme installiert werden.
    X-Windows ist unter dem Namen X11 in den Dienstprogrammen zu finden. Falls nicht dort, kann es von der (mit dem Computer) mitgelieferten DVD installiert werden.
    Aquaterm ist schnell installiert, da es als .dmg-Filesystem herunter geladen werden kann:
    Installation aquaterm-Oberfläche auf MAC OS-X
    Gnuplot selbst gibt es meines Wissens nach leider nicht als .dmg-File. Für eine automatische Installation (und Verwaltung) hilft das Fink-Projekt:
    Installation MAC OSx mit fink (Englisch)


    Link auf diesen Artikel Link auf diesen Artikel  Druckbare Version Druckerfreundliche Version  Einen Freund auf diesen Artikel aufmerksam machen Weitersagen Kommentare zeigen Kommentare  
    pdfFür diesen Artikel gibt es keine pdf-Datei


    Arbeitsgruppe Alexandria Dieser Artikel ist im Verzeichnis der Arbeitsgruppe Alexandria eingetragen:
    : Software :: LaTeX :: Geometrie- und Graphiksoftware :
    Grafiken in LaTeX [von Ueli]  
    Dieser Artikel richtet sich an LaTeX Nutzer, welche ein Dokument mit Grafiken erstellen wollen. Bei den Grafiken wird vor allem auf Funktions- und Datenplots eingehen, welche in technischen oder mathematischen Dokumentationen oft einen großen Anteil ausmachen
    [Die Arbeitsgruppe Alexandria katalogisiert die Artikel auf dem Matheplaneten]

     
    Verwandte Links
     
    Besucherzähler 41193
     
    Aufrufstatistik des Artikels
    Insgesamt 12388 externe Besuche zwischen 2017.11 und 2017.11 [Anzeigen]
    DomainAnzahlProz
    http://matheplanet.com1181%1 %
    http://google.de234718.9%18.9 %
    http://www.golatex.de1491.2%1.2 %
    http://google.at20%0 %
    http://google.lu184114.9%14.9 %
    http://google.it177914.4%14.4 %
    http://google.ru7686.2%6.2 %
    http://google.nl9607.7%7.7 %
    http://google.si5644.6%4.6 %
    http://google.se5484.4%4.4 %
    http://google.li6335.1%5.1 %
    http://google.es3272.6%2.6 %
    http://google.fr8987.2%7.2 %
    http://images.google.de2432%2 %
    http://google.dk2361.9%1.9 %
    http://google.pl1851.5%1.5 %
    http://google.hu1801.5%1.5 %
    http://www.bing.com2952.4%2.4 %
    http://r.duckduckgo.com300.2%0.2 %
    http://www.geogebra.org150.1%0.1 %
    http://duckduckgo.com130.1%0.1 %
    http://romeyke.mw.lan100.1%0.1 %
    http://de.yhs4.search.yahoo.com150.1%0.1 %
    http://search.babylon.com150.1%0.1 %
    http://search.yahoo.com90.1%0.1 %
    http://forum.geogebra.org50%0 %
    http://ecosia.org420.3%0.3 %
    http://search.conduit.com110.1%0.1 %
    http://www.ecosia.org390.3%0.3 %
    http://de.search.yahoo.com390.3%0.3 %
    http://images.google.fr30%0 %
    http://search.lycos.de30%0 %
    http://isearch.avg.com70.1%0.1 %
    http://de.search-results.com20%0 %
    http://suche.web.de100.1%0.1 %
    http://sr.searchfunmoods.com20%0 %
    http://suche.gmx.net30%0 %
    http://search.sweetim.com10%0 %
    http://www.jaw83.de10%0 %
    http://nortonsafe.search.ask.com20%0 %
    http://www.webcrawler.com10%0 %
    http://localhost10%0 %
    http://suche.t-online.de60%0 %
    http://nl.yhs4.search.yahoo.com10%0 %
    http://www.searchgol.com10%0 %
    http://209.85.148.10610%0 %
    http://search.incredibar.com10%0 %
    http://avg.nation.com10%0 %
    http://10.102.1.3:191010%0 %
    http://de.wow.com20%0 %
    http://www.delta-search.com40%0 %
    http://search.1und1.de10%0 %
    http://www.metacrawler.com10%0 %
    http://navigationshilfe.t-online.de10%0 %
    http://www.behpayamgar.ir10%0 %
    http://search.yahoo.co.jp10%0 %
    http://search.certified-toolbar.com10%0 %
    http://77.236.96.193:608010%0 %
    http://www.elektronik-kontakt.de10%0 %
    http://www.search.ask.com20%0 %
    http://de.mc1325.mail.yahoo.com20%0 %
    http://search.icq.com10%0 %
    http://ipv6.google.com10%0 %
    http://172.18.64.30:191010%0 %
    http://startseite-ins-internet.de10%0 %
    http://start.iminent.com10%0 %
    http://www.mysearchresults.com10%0 %

    Aufrufer der letzten 5 Tage im Einzelnen
    Insgesamt 105 Aufrufe in den letzten 5 Tagen. [Anzeigen]
    DatumAufrufer-URL
    2017.11.01-2017.11.24 (78x)https://www.google.de/
    2017.11.03-2017.11.23 (20x)https://www.google.at/
    2017.11.23 18:59http://google.de/
    2017.11.22 08:31https://www.google.rs/
    2017.11.21 16:21https://de.search.yahoo.com/
    2017.11.08-2017.11.20 (2x)https://www.google.de
    2017.11.19 22:25http://www.golatex.de/paket-mit-weihnachtssymbolen-t5411.html
    2017.11.19 20:22https://www.google.com.br/

    Häufige Aufrufer in früheren Monaten
    Insgesamt 11852 häufige Aufrufer [Anzeigen]
    DatumAufrufer-URL
    2013-2015 (1705x)http://google.lu/url?sa=t&rct=j&q=
    2014-2015 (692x)http://google.it/url?sa=t&rct=j&q=
    2014-2015 (592x)http://google.ru/url?sa=t&rct=j&q=
    201309-12 (569x)http://google.nl/url?sa=t&rct=j&q=
    201305-06 (564x)http://google.si/url?sa=t&rct=j&q=beste tkiz zeichen
    2014-2015 (548x)http://google.se/url?sa=t&rct=j&q=
    2014.07 (391x)http://google.nl/url?sa=i&rct=j&q=
    2014.03 (378x)http://google.de/url?sa=t&rct=j&q=tikzpicture punkte im raster latex
    2014.10 (342x)http://google.li/url?sa=t&rct=j&q=
    2014.09 (327x)http://google.es/url?sa=t&rct=j&q=
    2015-2017 (322x)http://google.de/url?sa=t&rct=j&q=
    2013.07 (291x)http://google.li/url?sa=t&rct=j&q=tikz grafik erstellen latex
    2014.06 (290x)http://google.fr/url?sa=t&rct=j&q=
    2012.02 (287x)http://google.it/url?sa=t&rct=j&q=ellipsoid "addplot3"
    2013.08 (287x)http://google.it/imgres?um=1&sa=N&biw=1600&bih=789&tbm=isch&tbnid=XIjydYoasAq...
    2014-2015 (284x)http://google.it/url?sa=i&rct=j&q=
    2012.03 (278x)http://google.de/url?sa=t&rct=j&q=winkel tikz
    2015-2017 (243x)http://images.google.de/url?sa=t&rct=j&q=
    2012.11 (238x)http://google.de/url?sa=t&rct=j&q=zwei datenplots subtrahieren gnuplot
    2015.02 (236x)http://google.dk/url?sa=t&rct=j&q=
    2012.01 (229x)http://google.it/url?sa=t&rct=j&q=kappmeier tikz
    2013.03 (222x)http://google.de/url?sa=t&rct=j&q=zeichnungen für mathe bachelorarbeit anfer...
    2013.01 (222x)http://google.fr/imgres?q=tikz potentiel 3d plot
    2015.03 (219x)http://google.de/url?sa=t&source=web&cd=9&ved=0CDMQFjAI
    2012.05 (195x)http://google.fr/imgres?um=1&safe=off&sa=N&biw=1276&bih=706&tbm=isch&tbnid=T2...
    2013.04 (191x)http://google.fr/imgres?q=tikz decoration surf
    2012.07 (189x)http://google.de/url?sa=t&rct=j&q=tkz picture ellipse um 2 punkte
    2012.10 (185x)http://google.pl/imgres?start=142&um=1&safe=off&authuser=0&biw=1600&bih=775&t...
    2013.02 (180x)http://google.de/url?sa=t&rct=j&q=zusätzliche ticks bei punkt pgfplots
    2012.06 (180x)http://google.hu/imgres?um=1&sa=N&biw=1654&bih=875&tbm=isch&tbnid=XIjydYoasAq...
    2012.04 (176x)http://google.ru/url?sa=t&rct=j&q=pst-3dplot direkt einbinden
    2012.12 (153x)http://google.de/url?sa=t&rct=j&q=weihnachtsbaum in tikz
    2012-2016 (148x)http://www.golatex.de/paket-mit-weihnachtssymbolen-t5411.html
    2012.09 (136x)http://google.lu/imgres?q=dreidimensionale dreieck
    2012.08 (117x)http://google.de/url?sa=t&rct=j&q=wie erstelle ich einen plot ubuntu
    2013-2017 (29x)http://www.bing.com/search?q=decorations.pathreplacing laden&go=&qs=n&sk=&for...
    2013-2017 (28x)http://www.bing.com/search?q=latex weihnachtsbaum&form=APMCS1
    2015.09 (20x)http://google.de/url?sa=t&rct=j&q=graphik to tikz
    2013-2015 (19x)http://r.duckduckgo.com/l/?kh=-1
    2016.05 (17x)http://google.de/url?sa=t&rct=j&q=grafiken erstellen in latex
    2013-2014 (15x)http://www.geogebra.org/forum/viewtopic.php?f=5&t=32473
    2012.03 (12x)http://duckduckgo.com/post.html
    2013-2016 (10x)http://romeyke.mw.lan/latex/latex-links.html
    201211-12 (9x)http://de.yhs4.search.yahoo.com/yhs/search;_ylt=A03uspjtBqFQ4EQAi05fCwx.?p=gn...
    2016.11 (8x)http://google.de/url?sa=t&rct=j&q=tikz latex dreieck
    201204-12 (8x)http://search.babylon.com/?q=wie erstelle ich eine Grafik mit tikz&babsrc=HP_...
    2015-2016 (7x)http://r.duckduckgo.com
    2014-2015 (6x)http://www.bing.com/images/search?q=diagramm latex&qpvt=diagramm latex&FORM=I...
    2012-2013 (6x)http://search.yahoo.com/search?ei=utf-8&fr=aaplw&p=beschriftungen in tikz
    201502-10 (6x)http://www.bing.com/search?q=anleitung grafik latex&pc=MOZI&form=MOZSBR
    201405-07 (5x)http://www.bing.com/search?q=latex bilder erzeugen&go=Senden&qs=n&pq=ltex bil...
    2014-2015 (5x)http://forum.geogebra.org/viewtopic.php?f=5&t=32473
    2014.11 (4x)http://www.bing.com/search?q=image latex autoscale&qs=n&form=QBRE&pq=image la...
    201305-11 (4x)http://www.bing.com/search?q=import latex grafik verkleinern &form=MOZSBR&pc=...
    201202-03 (4x)http://www.bing.com/search?q=+tikz linien&FORM=RCRE
    2012.05 (4x)http://www.bing.com/search?q=graphiken mit latex&form=OPRTSD&pc=OPER
    201305-06 (4x)http://ecosia.org/search.php?q=tikz plot
    2013-2016 (4x)http://r.duckduckgo.com/
    2012.03 (4x)http://search.conduit.com/ResultsExt.aspx?ctid=CT2475029&q=diagramme erstelle...
    2013.10 (4x)http://www.ecosia.org/search?q=latex sinus plot
    201302-04 (4x)http://de.search.yahoo.com/search;_ylt=Av7_evhxJnACsh6wKRzyGhMqrK5_;_ylc=X1MD...

    [Seitenanfang]

    " Stern Werkzeuge: Grafiken in Latex" | 17 Kommentare
     
    Für den Inhalt der Kommentare sind die Verfasser verantwortlich.

    Re: Grafiken in Latex
    von scito_83 am Mi. 23. Dezember 2009 21:07:21


    Genau über diese Thematik wollte ich mich gerade informieren und bin auf deinen sehr übersichtlich gestalteten Beitrag aufmerksam geworden. Werde mir diesen gleich genauer zu Gemüte führen.

     [Bearbeiten]

    Re: Grafiken in Latex
    von xycolon am So. 27. Dezember 2009 18:06:29


    ein schöner artikel smile es freut mich, dass mein lieblings nicht-zeichenprogramm sich immer größerer beliebtheit erfreut.

    leider kam der artikel für mich etwas spät, ich habe lange gebraucht, um mit tikz die notwendigen plots für meine diplomarbeit zu erstellen. der artikel hätte mir einigen aufwand erspart.

     [Bearbeiten]

    Re: Grafiken in Latex
    von Ueli am Mo. 28. Dezember 2009 11:26:22


    @xycolon
    Das mit Zeitpunkt ist so eine Sache. Das Thema wurde vor bald einem Jahr aktuell mit dem Buchprojekt. Bis ich mich eingearbeitet habe ist einige Zeit vergangen. Bis ich die Idee zum Artikel hatte sind nochmals einige Monate in's Land gegangen. Um einen Artikel zu schreiben brauche ich jeweils auch etwa zwei Monate (natürlich nicht Vollzeit).
    Du hast jetzt wirklich Pech gehabt, aber für andere, wie scito_83 ist es dafür genau der richtige Zeitpunkt.

     [Bearbeiten]

    Re: Grafiken in Latex
    von praeci am Mo. 28. Dezember 2009 12:28:42


    Hallo,

    ein schöner Artikel, der vielen eine Hilfe sein wird. Ich möchte an dieser Stelle allerdings auf das Programm MetaPost hinweisen (das allen TeX-Distributionen standardmäßig beiliegt) und über eine ähnliche Syntax verfügt. Ein in meinen Augen nicht unbeträchtlicher Vorteil ist, dass die erzeugten Grafiken auch außerhalb von TeX zur Verfügung stehen und in anderen Programmen genutzt werden können. Einige Beispiele findet man hier.

    Aber dies nur am Rande ...

     [Bearbeiten]

    Re: Grafiken in Latex
    von Marco_D am Mo. 28. Dezember 2009 16:33:29


    Hi,

    ich muss noch was loswerden  eek
    @praeci:
    Wir sind hier gerade bei tikz und ich möchte bzgl. METAPOST aus dem Manuell zitieren:
    The metapost program is a very powerful alternative to pgf. However, it is an external program, which entails a bunch of problems. The time needed both to create a small graphic and also to compile it is much greater than in pgf. The main problem with metapost, however, is the inclusion of labels. This is much easier to achieve using pgf. wink

    Gruß
    Marco

     [Bearbeiten]

    Re: Grafiken in Latex
    von JRRT0lkien am Mo. 28. Dezember 2009 19:11:48


    Hallo,

    die Thematik interessiert mich auch! Ich habe zwei Fragen dazu:

    1) Was nehmen eigentlich die "Profis"? In Büchern im Bereich Mathe, NaWi, Ing., Info. sind sogar >1000-seitige Bücher üblich, die voll von plots und erläuternden (Vektor-)Graphiken sind. Was wird von Autoren eigentlich am meisten genommen?

    2) Warum nimmt man eigentlich für tikz oder pstricks? Ich sehe ein, dass es große Vorteile hat, alles in code-Form zu haben, oder im Idealfall sogar nur ein tex-Dokument, in dem alle Bilder per Code erzeugt werden.

    Aber ist das nicht, sagen wir, umständlich? Geht es graphisch mit Corel Draw oder Inkscape nicht viel angenehmer? Ich las z.B. neulich Anschauliche Funktionentheorie von Needham, wo er im Vorwort geschrieben hat, dass er Corel Draw genutzt hat.

    Mir fehlt noch etwas die Motivation, mich mit tikz oder pstricks zu beschäftigen. Gibt es einen gewaltigen Vorteil gegenüber graphischen Vektorgraphikprogrammen, den ich übersehe? z.B. Inkscape ist open source und bietet auch die Möglichkeit, tex-code-Annotationen zu machen. Warum sich dann mit tikz quälen?

     [Bearbeiten]

    Re: Grafiken in Latex
    von huepfer am Mo. 28. Dezember 2009 21:45:02


    @JRRT0lkien,

    Du kannst eben mit tikz oder pstricks konkrete Konstruktionen durchführen. Diese kannst Du eben auch exakt machen, da Du die komplette Konstruktion mit errechneten Werten durchführen kannst und musst nicht den fehleranfälligen Weg mit der Maus machen. Ob das mit Inkscape auch so ist, weiß ich nicht.

    Gruß,
       Felix

     [Bearbeiten]

    Re: Grafiken in Latex
    von Ueli am Mo. 28. Dezember 2009 22:14:30


    Hallo JRRT0lkien,

    zu 1) Die meisten Autoren geben nichts zu den Grafiken an. Für das Buch "Vektoranalysis" von Jänich soll eine Macro-Sammlung diagram.tex benutzt worden sein. Für das 1500-Seiten Buch "Mathematik" wurde "open geometry" verwendet, was auch Text zu Grafik macht.
    Das zeigt, dass immer mehr mit Beschreibungssprachen gearbeitet wird.

    zu 2) - TikZ ist schöner. Da die Grafiken zusammen mit dem Dokument produziert werden, ergibt sich eine Einheitlichkeit (alle Linienbreiten stimmen, die Schriften sind die gleichen usw.)
    - TikZ kann man noch einfach korrigieren. Geht das Manuskript an die Probeleser und tauchen Fehler auf, so können diese schnell und einfach korrigiert werden. Man muss nicht das ganze Bild neu erstellen.
    - TikZ ist nicht viel schwieriger als ein Maus-Zeichnungsprogramm. Man benötigt sicher eine gewisse Einarbeitungszeit. Aber viel schneller ist man mit der Maus nicht. Um eine Kurve mit Visio an den richtigen Ort zu bekommen braucht man viel länger, als mit der Eingabe der Koordinaten in TikZ. Und will man das selbe mehrfach mit leicht anderen Parametern machen... das war schon der Tod so mancher unschuldiger Maus.

    Die derzeitige Schwäche von TikZ, dass Funktionenplots nur in einfachen Fällen integriert werden können soll mit einem neuen gnuplot TikZ-Terminal ebenfalls behoben werden.

    Ueli

     [Bearbeiten]

    Re: Grafiken in Latex
    von Marco_D am Mo. 28. Dezember 2009 22:43:06


    Hi,

    @JRRT0lkien: Als Ergänzung ist noch zu nennen, dass du mittels tikz bzw. pstricks stets gewährleisten kannst, dass die Abbildungen die selbe Schrift haben, wie der restliche Text deines Dokumentes.

    Ein weitere ist der Platz bedarf. Externe Bilder fordern stets erhöhte Kompilierungszeit und Speicherbedarf innerhalb des PDF's

    Gruß
    Marco

     [Bearbeiten]

    Re: Grafiken in Latex
    von matroid am Mo. 28. Dezember 2009 23:06:07


    Beim ersten MP-Buch habe ich (genau wie Ueli) diese Erfahrungen gemacht:
    - es kommt vor, dass eine Graphik 'etwas' kleiner (oder größer) sein sollte, damit sie optimal auf die Seite passt,
    - man muss den Autoren weniger konkrete Vorgaben machen, wenn man die Graphik auch später noch an das endgültige Layout anpassen muss - ohne Verluste an Qualität,
    - jeder, der den Source-Code der Graphik hat, kann die Anpassungen vornehmen. Von einem Image hat ja höchstens der Autor eine bearbeitbare Version. Aber wenn dringend noch etwas geändert werden muss, ist es bei Vorliegen der Graphik in einer Beschreibungssprache nicht nötig, dass man den Autor kurzfristig erreichen kann,
    - es kommt vor, dass bei der inhaltlichen Kontrolle eines Artikels erkannt wird, dass die Labels in der Graphik besser anders wären, damit mehr Klarheit oder Konsistenz erreicht werden,
    - es kommt vor, dass bei der inhaltlichen Kontrolle eines Artikels erkannt wird, dass bestimmte Punkte markiert oder Flächen hervorgehoben werden sollten. Das gelingt mit einer Beschreibungssprache einfach durch eine Zeile oder ein Wort mehr im Source der Graphik,
    - wenn man eine Abfolge von aufeinander aufbauenden Graphiken hat, ist es viel weniger Arbeit, in allen diesen Graphiken gleichartige Änderungen vorzunehmen.
    - die Übereinstimmung von Textfont und Beschriftungen ist bereits erwähnt worden.
    - es ist einfacher, wenn nur eine Datei gepflegt werden muss, sie ist auch leichter und mit weniger Verwechslungsgefahren unter mehreren Autoren austauschbar.
    - bei Graphik-Definition mit einer Beschreibungssprache, können auch die Graphiken versioniert werden und es ist möglich mit einem diff-Werkzeug, die Änderungen gegenüber einer früheren Version zu ermitteln.

    Es gibt übrigens Werkzeuge, die erlauben die Erstellung von Graphiken mit der Maus und man kann das Ergebis dann als Vektorgraphik abspeichern. Auf diese Weise habe ich mehrere Graphiken für das MP-Buch erstellt, den Output in tikz konvertiert und in den tex-Code eingefügt. Kleine Bearbeitungen des Bildes (siehe oben) habe ich direkt an den tikz-Befehlen im tex-Dokument vorgenommen. Wenn größere Bearbeitungen erforderlich waren, bin ich noch einmal über das wysiwyg-Bild-Erstellungs-Werkzeug gegangen.

    Ich habe inkscape vor 9 Monaten ausprobiert. Die Graphiken sind gut, aber ich habe keine Möglichkeit gefunden, tikz zu speichern.

    Gruß
    Matroid

     [Bearbeiten]

    Re: Grafiken in Latex
    von Ueli am So. 10. Januar 2010 12:39:02


    Ein Nachtrag:

    mittlerweile habe ich das Paket "pgfplots" angeschaut. Es bietet die fehlenden plot-Funktionen von TikZ und dürfte für die meisten Fälle ein Bild-Import überflüssig machen:
     hier
    Ich versuche dies noch in den Artikel einzuarbeiten.

     [Bearbeiten]

    Re: Grafiken in Latex
    von martin_hei am Mo. 22. März 2010 11:19:47


    Ich finde es sollte noch erwähnt werden, dass gnuplot das sehr sinnvolle Terminal "epslatex" hat. Damit wird die Grafik als eps, Beschriftungen usw. als LaTeX-Code ausgegeben. Ich finde, das ist die schönste Variante und vereint die Vorteile von eps und dem "latex" Terminal. Mit epstopdf wird das Ganze dann noch für pdf's nutzbar.

    Gruß,
    Martin

    Nachtrag: Seit der gnuplot Version 4.4 kann man das Terminal "tikz" installieren, und erhält als Ausgabe direkt eine LaTeX-Datei mit dem entsprechenden TikZ-Code!

     [Bearbeiten]

    Re: Grafiken in Latex
    von Ueli am Di. 30. März 2010 22:16:16


    Mittlerweile nutze ich oft pgfplot, um die Achsen zu zeichnen und konstruiere den Graphen mit Koordinaten aus gnuplot oder kopiere Flächen als Bilder in das pgf-Achsensystem.
    Denn lässt man pgfplot alles selbst rechnen, so ist man bald einmal bei sehr langen Compilierungszeiten.
    Die neue gnuplot-Version ist jetzt auch draussen, wie Martin erwähnt hat. Ich hoffe sie bald testen zu können.

    Gruß Ueli

     [Bearbeiten]

    Re: Grafiken in Latex
    von tomas am So. 11. Juli 2010 14:44:24


    Ich soll in meiner Diplomarbeit eine Grafik von einer Kugel erstellen, von deren Mittelpunkt aus physikalische Federn zur Oberfläche verlaufen. In einer zweiten Grafik soll diese Kugel dann verformt sein, beispielsweise zu einem Ellipsoid, so dass die Federn sich dehnen, bzw. stauchen.
    Leider habe ich überhaupt keine Erfahrungen mit Zeichenprogrammen und weiß auch gar nicht, welches für diese Grafik infrage käme. Weiß dazu vielleicht jemand hier etwas?
    Danke,   Tomas

     [Bearbeiten]

    Re: Grafiken in Latex
    von huepfer am So. 11. Juli 2010 15:56:12


    Hallo Tomas,

    ich würde dazu wohl tikz nutzen, das oben im Artikel schon angesprochen ist. Eine sehr gute Anleitung ist auch das Tutorium von Till Tantau. Die meines Wissens aktuelle Version findest Du unter: www.ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf

    Gruß,
       Felix

     [Bearbeiten]

    Re: Grafiken in Latex
    von cis am Di. 21. Januar 2014 06:52:56


    Saubere Arbeit!
    TikZ-Graphiken können ja seit neustem auch auf dem MP im math-Modus erstellt werden.


     [Bearbeiten]

    Re: Grafiken in Latex
    von cis am Mo. 31. März 2014 21:26:15


    Speziell zur Aussage:
    "Es gibt auch die sinus und die cosinus-Funktionen. Diese funktionieren aber nur im Intervall (0,pi/2). Längere Stücke müssen zusammengesetzt werden, wie im nächsten Beispiel gezeigt"

    Da dürfte sich versionsmäßig bis heute einges getan haben.
    Hier ein paar Funktionen, u.a. die Sinusfunktion (in einem willkürlichen Intervall):


    <math>
\begin{tikzpicture}[scale=1.0]

% x-Achse
\draw[->, >=latex] (-4.5,0) -- (4.5,0) node[below] {$x$};
%Zahlen auf x-Achse
\foreach \x in {-4,-3,-2,-1,1,2,3,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\x$};

% y-Achse
\draw[->, >=latex] (0,-3.6) -- (0,4.5) node[left] {$y$};%node[above left]
%Zahlen auf y-Achse
\foreach \y in {-3,-2,-1,1,2,3,4}
\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};

%Ursprung
\draw[color=black] (0pt,-10pt) node[right] {\footnotesize $0$};

% Gitternetzlinien
\draw[very thin,color=gray] (-4.5,-3.5) grid (4.5,4.5);

% Parabelfunktion:
\draw[thick,color=red ] plot[domain=-4:4] (\x,0.2*\x*\x) node[right] {$f(x) = 0,2\cdot x^2$};

%Umkehrfunktion:

\draw[thick,color=blue,style=dashed] plot[domain=0:4]  (0.2*\x^2,\x) node[right,above] {$f_+^{-1}(x) = \sqrt{5\cdot x}$};

%Sinusfunktion
\draw[thick,color=black] plot[domain=-4:4] (\x,{-0.5*sin(\x r)}) node[right] {\footnotesize $g(x) = -0,5 \cdot \sin(x)$};
%sin(\x r) --- r fuer Radiant

%Einige Punkte, Linien:
\coordinate (punkt1) at (-3,-1);
\coordinate (punkt2) at (1,-1);
\coordinate (punkt3) at (3,-3);

\fill[fill=violet] (punkt1) circle (2pt) node[right] {\footnotesize $\textcolor{violet}{P_1(-3|-1)}$};
\draw[green,dashed] (punkt2) -- (punkt3);

\end{tikzpicture}
</math>

    Als Deluxe auch noch die Tangensfunktion (bedenke Polstellen!).
    Das kann man übr. (wie ich erst heute weiß) noch durchaus eleganter -mit TikZ!- umsetzen:

    <math>
\begin{tikzpicture}[scale=0.9,smooth,domain=-3*pi:3*pi];

% x-Achse
\draw[->, >=latex] (-1.6*pi,0) -- (2.69*pi,0) node[below] {$x$};

% ------------------------------
%Zahlen auf x-Achse

%-PI/2 und +PI/2
\draw[shift={(-pi/2,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $-\frac{\pi}{2}$};

\draw[shift={(pi/2,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\frac{\pi}{2}$};

%Weitere negative ungerade PI/2-Vielfache
\foreach \k in {3}
\draw[shift={(-\k*pi/2,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $-\frac{\k \pi}{2} $};

%Weitere positive ungerade PI/2-Vielfache
\foreach \k in {3,5}
\draw[shift={(\k*pi/2,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\frac{\k \pi}{2} $};

%-PI und +PI
\draw[shift={(pi,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\pi$};

\draw[shift={(-pi,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $-\pi$};

%Weitere PI-Vielfache
\foreach \k in {2}
\draw[shift={(\k*pi,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\k \pi$};

% ------------------------------


% y-Achse
\draw[->, >=latex] (0,-7.0) -- (0,7.0) node[left] {$y$};%node[above left]
%Zahlen auf y-Achse
\foreach \y in {-6,-5,-4,-3,-2,-1,1,2,3,4,5,6}
\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};

%Ursprung
\draw[color=black] (0pt,-10pt) node[right] {\footnotesize $0$};

% Gitternetzlinien
%\draw[very thin,color=gray] (-4.5,-3.5) grid (4.5,4.5);

% -------------------------------------
% -------------------------------------
% TANGENSFUNKTION - astweise, i-te Äste
% -------------------------------------
% -------------------------------------

\foreach \i in {-2,-1,0,1}
\draw[blue = solid, thick] plot [domain=(\i+0.5)*pi+0.05*pi:(\i+1+0.5)*pi-0.05*pi](\x,{tan(\x r)});

\node at (6.0,6.0) {\textcolor{blue}{$f(x) = \tan(x)$}};

%Polgeraden
\foreach \k in {-3,-1,1,3,5}
\draw[shift={((\k*pi/2,0)},color=grey, style=dashed, very thin] (0,-6.5) -- (0,6.5);

%Polgeraden - alternativ, als Funktionsplot
%\foreach \i in {-2,-1,0,1,2}
%\draw[color=grey, style=dashed, very thin] plot [domain=-6.5:6.5](\i*pi+0.5*pi,\x);




\end{tikzpicture}
</math>


     [Bearbeiten]

     
    All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2017 by Matroids Matheplanet
    This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
    Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
    Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
    [Seitenanfang]