Ключи PGFPlots для осей и стилей графиков работают только частично

Ключи PGFPlots для осей и стилей графиков работают только частично

Я пытаюсь построить различные виды 3D-кривой, но я хотел бы определить оси и стиль графиков с самого начала; я не смог этого сделать. Вот код и то, что я получаю:

\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}

введите описание изображения здесь

Мне нужно следующее (получено путем записи всех вышеперечисленных опций в каждую axisсреду и каждый \addplotмакрос): введите описание изображения здесь

Цвет кривой принимается, но не остальные опции. Я не знаю, правильно ли я использую синтаксис для ключей; это явно правильный синтаксис, потому что я могу скомпилировать без ошибок, но мне явно чего-то не хватает, чтобы получить то, что я хочу, и я не могу найти это в руководстве. Заранее спасибо!

решение1

Вы забыли запятую между двумя pgfplotssetчастями ( every axis postчасть и every axis plotчасть). Также вам нужно установить пустой параметр []после \addplot3, чтобы вызвать общую настройку.

МВЭ:

\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}

Результат:

введите описание изображения здесь

Связанный контент