Chaves PGFPlots para eixos e estilos de plotagem funcionando apenas parcialmente

Chaves PGFPlots para eixos e estilos de plotagem funcionando apenas parcialmente

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}

insira a descrição da imagem aqui

O que eu quero é o seguinte (obtido escrevendo todas as opções acima em cada axisambiente e em cada \addplotmacro): insira a descrição da imagem aqui

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 pgfplotssetpartes (a every axis postparte e a every axis plotparte). Além disso, você precisa de uma opção vazia definida []depois \addplot3para 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:

insira a descrição da imagem aqui

informação relacionada