
Estoy intentando trazar diferentes vistas de una curva 3D, pero me gustaría definir los ejes y el estilo de los trazados desde el principio; No he podido hacer esto. Aquí está el código y lo que obtengo:
\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}
Lo que quiero es lo siguiente (obtenido escribiendo todas las opciones anteriores en cada axis
entorno y cada \addplot
macro):
El color de la curva sí cobra, pero no el resto de opciones. Realmente no sé si estoy usando la sintaxis correcta para las claves; claramente es la sintaxis correcta, porque puedo compilar sin errores, pero obviamente me falta algo para obtener lo que quiero y parece que no puedo encontrarlo en el manual. ¡Gracias de antemano!
Respuesta1
Olvidaste una coma entre las dos pgfplotsset
partes (la every axis post
parte y la every axis plot
parte). También necesita una opción vacía configurada []
después \addplot3
para activar la configuración general.
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}
Resultado: