
Estou tentando traçar diferentes visualizações de uma curva 3D, mas gostaria de definir os eixos e o estilo dos gráficos desde o início; Eu não fui capaz de fazer isso. Aqui está o código e o que recebo:
\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}
O que eu quero é o seguinte (obtido escrevendo todas as opções acima em cada axis
ambiente e em cada \addplot
macro):
A cor da curva assume, mas não o resto das opções. Realmente não sei se estou usando a sintaxe correta para as chaves; claramente é a sintaxe correta, porque posso compilar sem erros, mas obviamente estou faltando alguma coisa para conseguir o que quero e não consigo encontrar no manual. Desde já, obrigado!
Responder1
Você esqueceu uma vírgula entre as duas pgfplotsset
partes (a every axis post
parte e a every axis plot
parte). Além disso, você precisa de uma opção vazia definida []
depois \addplot3
para acionar a configuração geral.
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: