Ein Plädoyer für Gnuplot (und pgfplots)

ein kleiner gnuplot PlotGnuplot ist ein unglaublich schönes Plotting Tool. Und es ist OpenSource. Das alleine sollte schon reichen, wenn man einen Grund sucht Gnuplot als Standard Funktionsplotter zu verwenden.

Noch viel schöner, besonders im Bezug auf die Druckqualität, wird Gnuplot, wenn man es nur zum Rechen verwendet und die Plot-Arbeit z.B. (La)TeX überlässt. Tikz/pgf bietet mit pgfplots eine einfache Möglichkeit auf Gnuplot zuzugreifen, shell-escape vorausgesetzt. Zwar bietet tikz bzw. pgfplots auch die Möglichkeit Funktionsberechnungen mit TeX ausführen zu lassen, dazu ist TeX aber nicht gemacht und die Rechenungenauigkeit kann zu einigen Problemen führen. Diese Ungenauigkeit rührt besonders von der Unfähigkeit  TeXs her, ordentlich mit float Zahlen zu rechen.

Ein kleines Beispiel, soll nun 2 Dinge zeigen: 1. ein Rechen-/Darstellungsfehler von pgf bzw. pgfplots in der TeX Berechnung und 2. was für selten schöne Diagramme man mit pgf/pgfplots erstellen kann.

Ich habe hier die Funktion mit pgfplots erstellt, den Zoom Effekt direkt mit tikz.

Ich denke man sieht hier deutlich, dass die rote Kurve (TeX) deutlich von dem zu erwartenden Verlauf abweicht (schwarze Kurve, Gnuplot).

Fazit? Lass dir komplizierte Funktionen immer durch Gnuplot berechnen. Dazu ist es gemacht. Hingegen ist TeX dazu gemacht perfekte (pdf-) Dokumente zu erzeugen. Setzt man also jedes Tool für den Bereich ein in dem es am stärksten ist, kommt ein nahezu perfektes Ergebnis heraus.

\documentclass{scrartcl} 
 
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
 
\renewcommand{\thepage}{}
\usepackage{pgfplots}
 
\usepackage{tikz}
\usetikzlibrary{spy} %  Zoom 
 
\begin{document}
\begin{figure}
\begin{tikzpicture}[spy using outlines={circle,
magnification=15,
size=3cm,
connect spies}]
\begin{scope}
\begin{axis}[ width=\textwidth,domain=-5:5, %
restrict y to domain=-10:10, %
axis x line=center, axis y line=center,%
xtick={-5,...,5}, ytick={-5,...,5}
]
\addplot[mark=none, color=black]  plot gnuplot[samples=500,id=eins]{x^2/(1-x^2)};
\addplot[mark=none, color=red]  plot[samples=500,smooth]{x^2/(1-x^2)}; % ohne gnuplot
 
\end{axis}
\spy [red] on (2.25,4.2) in node at (3,1);
\end{scope}
\end{tikzpicture}
\caption{Example for calculation accuracy: Gnuplot vs. \TeX .
 Black Line calculated by Gnuplot, red line calculated by \TeX .
As you can easily see the red function bends a bit toward $y=0$.
 Mathematically we would expect a run close to the black curve´s.
That behavior seems not to be symmetric. }
\end{figure}
\end{document}

Links

Mehr zu pgfplots und einige weitere schöne Beispiele auf golatex.de.

Einzigartige Sammlung von tikz Beispielen auf texample.net.

Dieser Beitrag wurde unter (La)TeX abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Die Kommentarfunktion ist geschlossen.