alt text

Hallo!

Ich habe kürzlich einen Graphen mit TikZ erstellt (es geht hier um die sogen. "Fermatsche Integration"). Nun geht mir TikZ recht leicht von der Hand, mit pgfplots tue ich mich noch schwer, etwa wegen den teils schon unterschiedlichen Notationen und, um es nicht zu vergessen, mir in Details zu viele Vorgaben gemacht werden (z.B. Pfeilspitzen oder sowas). Wobei das Paket pgfplots schon eine beachtliche Leistung ist (siehe z.B. das ternary diagram) und mir auffällt, daß sich dort der Code ggü. Tikz oft drastisch verkürzt.

Meine Frage ist ist also eher allgemeiner Natur, ich weiß nicht, ob sie sich beantworten läßt. Wäre z.B. bei diesem Graphen pgfplots sinnvoller gewesen?

Danke!

Open in writeLaTeX
\documentclass[varwidth, margin=5pt]{standalone}
\usepackage[ngerman]{babel}
\usepackage{tikz}
  \usetikzlibrary{calc} 
\usepackage{amsmath, amssymb}

\pagecolor{lightgray!40}
%===========
\begin{document}
%===========
\def\r{0.725}
\def\a{4}
\begin{tikzpicture}[font=\footnotesize, >=latex, scale=0.85]
%KoSy
%\draw[very thin,color=gray] (-2,-4) grid (3,4);
\draw[->] (-0.5,0) -- (5.5,0) node[right, below] {$x$};
\draw[->] (0,-0.5) -- (0,4.5) node[above, left] {$y$};

%Achsenbeschriftung
%Ursprung
\node[below left] {$0$};

% ----------------
\coordinate (Nx) at (\a,0);
\coordinate (Ny0) at ($({0},{0.2*\a^2})$);
\coordinate (Ny) at ($({\a},{0.2*\a^2})$);

\coordinate (Mx) at ($({\a*\r},{0})$);
\coordinate (My0) at ($({0},{0.2*(\a*\r)^2})$);
\coordinate (My1) at ($({\a*\r},{0.2*(\a)^2})$);
\coordinate (My) at ($({\a*\r},{0.2*(\a*\r)^2})$);

\coordinate (Lx) at ($({\a*\r^2},{0})$);
\coordinate (Ly0) at ($({0},{0.2*(\a*\r^2)^2})$);
\coordinate (Ly1) at ($({\a*\r^2},{0.2*(\a*\r)^2})$);
\coordinate (Ly) at ($({\a*\r^2},{0.2*(\a*\r^2)^2})$);

\coordinate (Kx) at ($({\a*\r^3},{0})$);
\coordinate (Ky0) at ($({0},{0.2*(\a*\r^3)^2})$);
\coordinate (Ky1) at ($({\a*\r^3},{0.2*(\a*\r^2)^2})$);
\coordinate (Ky) at ($({\a*\r^3},{0.2*(\a*\r^3)^3})$);
% ----------------

%x-Achse:
\draw[] ([yshift=2pt]Nx.north)--([yshift=-2pt]Nx.south) node[below]{$a \vphantom{ar^2}$};
\draw[] ([yshift=2pt]Mx.north)--([yshift=-2pt]Mx.south) node[below]{$ar\vphantom{ar^2}$};
\draw[] ([yshift=2pt]Lx.north)--([yshift=-2pt]Lx.south) node[below]{$ar^2$};
\draw[] ([yshift=2pt]Kx.north)--([yshift=-2pt]Kx.south) node[below]{$ar^3$};

\node[] at ([xshift=-15mm, yshift=-3mm]Lx.south west) {\Large$...$};

%y-Achse:
\draw[] ([xshift=2pt]Ny0.east)--([xshift=-2pt]Ny0.west) node[left]{$a^m$};
\draw[] ([xshift=2pt]My0.east)--([xshift=-2pt]My0.west) node[left]{$(ar)^m$};
\draw[] ([xshift=2pt]Ly0.east)--([xshift=-2pt]Ly0.west) node[left]{$(ar^2)^m$};
\draw[] ([xshift=2pt]Ky0.east)--([xshift=-2pt]Ky0.west) node[left]{$(ar^3)^m$};

%Rechtecke
\draw[thin] (Nx) -- (Ny)  -- (My1) -- (Mx);
\draw[thin] (My) -- (Ly1) -- (Lx);
\draw[thin] (Ly) -- (Ky1) -- (Kx);

%Kurve
\draw[] plot[domain=0:4.5, samples=400,] (\x,{0.2*\x^2}) node[right] {$y=x^m$};

\end{tikzpicture}
%===========
\end{document}
%===========

gefragt 21 Aug '14, 14:37

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

1

Pgfplots ist vor allem dafür konzipiert, aus Messwerten Diagramme zu erstellen. Wenn um das Plotten von Funktionen und ggf. das Einfügen irgendwelcher Annotations geht, dann ist TikZ (besonders seit 3.0) imho besser geeignet.

(21 Aug '14, 14:57) Johannes

Zu pgfplots würde ich wechseln, wenn z.B. einer der Punkte zutrifft:

  • es ist eine von pgfplots bereitgestellte Daten-Visualisierung (stacked plot, polar plot, ternary plot, log plot, ...) wo man nur noch Dateien einlesen lässt und ein paar Optionen setzt,
  • ich verwende Achsen, statt eigenhändig zu zeichnen kann ich das Aussehen über Optionen festlegen (wobei ab TikZ 3 schon sehr gute Achsenformate kommen)
  • es soll ein dreidimensionaler Plot werden,
  • ich verarbeite ein externes Datenfile.

Das hier gezeigte Beispiel ist natürlich ein ganz einfaches, wo man mit pgfplots noch nicht viel gewinnen oder einsparen kann. Wenn man sowieso komplexere Plots haben könnte, lohnt sich die Einarbeitung in pgfplots, und dann sind auch die einfachen Plots damit Routinesache und konsistent im Aussehen zu den komplexeren.

Einen Eindruck von den Fähigkeiten bieten neben dem Handbuch z.B. die PGFPlots-Galerie und auch die TeXwelt-Beispiele. Bei Plots will ich gar nicht mehr auf pgfplots verzichten. Mit TikZ ergänzend etwas einzeichnen geht immer noch.

Permanenter link

beantwortet 21 Aug '14, 14:59

stefan's gravatar image

stefan ♦♦
18.3k163148
Akzeptiert-Rate: 49%

bearbeitet 21 Aug '14, 15:09

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×731
×298

gestellte Frage: 21 Aug '14, 14:37

Frage wurde gesehen: 9,166 Mal

zuletzt geändert: 21 Aug '14, 15:09