4
1

Ich habe einen Plot gezeichnet mit \addplot3+ [...] ( {x*sin(0.2*pi*deg(x))},{x*cos(0.2*pi*deg(x)},{x} ), der sieht aus aus, als hätte mein Töchterchen auf einem Blatt Papier gemalt:

Spirale

Nun ist die Funktion aber dreidimensional, und ich möchte das auch erkennbar haben. Oben hatte ich noch hide axis im Code, weil ich zunächst das pure Bild sehen wollte, nun sollen Achsen hinzukommen. Und zwar so, dass man einen möglichst dreidimensionalen Eindruck erhält.

Der "Standardkasten" ist ja schonmal ein gutes Schrägbild. Ich dachte mir, man könnte die Achsen-Ebenen ein wenig Farbe geben, je nach Ebene unterschiedlich, dass sich ein besserer räumlicher Eindruck ergibt, wie wenn es wirklich ein Raum mit Wänden wäre. Endergebnis sollte natürlich dezent sein, die Funktion ist wichtiger als das Drumrum, ich möchte unterstützendes Design und keine Ablenkung. Auf dem Weg dahin zu experimentieren ist jedenfalls gut.

Nun kann man eine Achsen-Option für den Hintergrund setzen, z.B.:

axis background/.style={fill=gray!30}]

Kann man einen Hintergrund je für xy-Ebene, yz-Ebene und xz-Ebene angeben? Also wirklich die Achsenebenen, und nicht nur pauschal der Hintergrund. Shading geht an der Stelle auch. Daher hier dieses Minimalbeispiel als Start:

Open in writeLaTeX
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    axis background/.style =
      {shade, top color=white, bottom color=black!55}]
  \addplot3+ [
      domain  = 0:16*pi,
      samples = 400, samples y  = 0,
      mark    = none,
      very thick,
    ]
    ( {x*sin(0.2*pi*deg(x))},{x*cos(0.2*pi*deg(x)},{x});
  \end{axis}
\end{tikzpicture}
\end{document}

Spirale in 3D

Abgefahren wäre so etwas wie hier, wenn das geht (Quelle: xlstat.com):

Scatter Plot

Wobei es mir um die Ebenen geht, nicht um die Labels an den Achsen.

Wie weit käme man hier mit pgfplots und TikZ?

gefragt 28 Jun '14, 11:15

stefan's gravatar image

stefan ♦♦
5.8k12234
Akzeptiert: 28%

bearbeitet 28 Jun '14, 11:17


Um wenigstens die Ebenen verschieden zu färben, könnte man über die Option set layers die Nutzung von Layern aktivieren und dann im Layer axis background die jeweiligen Ebenen wie gewünscht füllen:

Open in writeLaTeX
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    set layers,
    axis line style=gray!70,
    ticklabel style=gray,
  ]
  \begin{pgfonlayer}{axis background}
      \fill[shade, top color=white, bottom color=red!15]
        (rel axis cs:0,1,0)--(rel axis cs:0,1,1)--
        (rel axis cs:0,0,1)--(rel axis cs:0,0,0)--cycle;
      \fill[shade, bottom color=white, top color=orange!15]
        (rel axis cs:0,1,0)--(rel axis cs:1,1,0)--
        (rel axis cs:1,0,0)--(rel axis cs:0,0,0)--cycle;
      \fill[shade, top color=white, bottom color=yellow!15]
        (rel axis cs:0,1,0)--(rel axis cs:1,1,0)--
        (rel axis cs:1,1,1)--(rel axis cs:0,1,1)--cycle;
  \end{pgfonlayer}
  \addplot3+ [
    domain  = 0:16*pi,
    samples = 400, samples y  = 0,
    mark    = none,
    very thick,
  ]
    ( {x*sin(0.2*pi*deg(x))},{x*cos(0.2*pi*deg(x)},{x});
  \end{axis}
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 28 Jun '14, 17:31

esdd's gravatar image

esdd
14.2k53251

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×160
×21
×19

Frage gestellt: 28 Jun '14, 11:15

Frage wurde angeschaut: 4,102 Mal

Zuletzt aktualisiert: 28 Jun '14, 17:31