
Ich versuche, verschiedene Ansichten einer 3D-Kurve zu zeichnen, möchte aber die Achsen und den Stil der Diagramme von Anfang an definieren. Das ist mir bisher nicht gelungen. Hier ist der Code und was ich bekomme:
\documentclass[tikz,border=2mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}[
declare function ={
ex(\x)=cos(\x)*sin(2*\x);
ye(\x)=cos(\x)*cos(2*\x);
ze(\x)=sin(\x);
}
]
\pgfplotsset{
every axis post/.append style={
trig format plots=rad,
scale=0.7
}
every axis plot/.append style={
blue,
domain=0:2*pi,
samples=120
}
}
\begin{axis}
\addplot3 ({ex(x)},{ye(x)},{ze(x)});
\end{axis}
\begin{axis}[xshift=7cm, view/h=120,view/v=90]
\addplot3 ({ex(x)},{ye(x)},{ze(x)});
\end{axis}
\end{tikzpicture}
\end{document}
Ich möchte Folgendes (erhalten durch Schreiben aller oben genannten Optionen in jede axis
Umgebung und jedes \addplot
Makro):
Die Kurvenfarbe wird übernommen, aber nicht der Rest der Optionen. Ich weiß nicht wirklich, ob ich die richtige Syntax für die Tasten verwende; es ist eindeutig die richtige Syntax, da ich fehlerfrei kompilieren kann, aber mir fehlt offensichtlich etwas, um das zu bekommen, was ich will, und ich kann es im Handbuch nicht finden. Vielen Dank im Voraus!
Antwort1
Sie haben ein Komma zwischen den beiden pgfplotsset
Teilen (dem every axis post
Teil und dem Teil) vergessen. Außerdem benötigen Sie danach every axis plot
eine leere Option, um die allgemeine Einstellung auszulösen.[]
\addplot3
MWE:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}[
declare function ={
ex(\x)=cos(\x)*sin(2*\x);
ye(\x)=cos(\x)*cos(2*\x);
ze(\x)=sin(\x);
}
]
\pgfplotsset{
every axis post/.append style={
trig format plots=rad,
scale=0.7
},
every axis plot/.append style={
purple,
domain=0:2*pi,
samples=120
}
}
\begin{axis}
\addplot3[] ({ex(x)},{ye(x)},{ze(x)});
\end{axis}
\begin{axis}[xshift=7cm, view/h=120,view/v=90]
\addplot3[] ({ex(x)},{ye(x)},{ze(x)});
\end{axis}
\end{tikzpicture}
\end{document}
Ergebnis: