Альтернативные цвета в колчанных графиках

Альтернативные цвета в колчанных графиках

Я экспериментирую, чтобы найти хороший способ сделать 3D векторный график поля магнитного поля тонкой проволоки. Одна идея заключалась в том, чтобы использовать другой цвет для каждого фиксированного значения z. Я только что попробовал использовать список циклов, но это, похоже, не работает с графиками колебаний. Как мне заставить это работать:

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{
  compat=newest,
  }
\begin{document}

\begin{tikzpicture}
  \begin{axis}[
    domain=-10:10,
    samples=10,
    xmin=-10,xmax=10,
    ymin=-10,ymax=10,
    zmin=-10,zmax=10,
    cycle list name=color,
    ]
    \pgfplotsinvokeforeach{-10,-5,5,10}{
      \pgfplotsset{cycle list shift=1}
      \addplot3[quiver,-stealth,
      quiver={
        u={-y/(x^2+y^2},
        v={x/(x^2+y^2)},
        w={0},
        scale arrows=10
        },
      ]
      (x,y,#1);
    }
    \draw[ultra thick] (0,0,-12) -- (0,0,12);
    %\fill[gray,opacity=0.2] (-1,-1,0) rectangle (1,1,0);
    \end{axis}
\end{tikzpicture}

\end{document}

решение1

Используйте colored=mapped color(и некоторые point meta, если необходимо).

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{
  compat=newest,
  }
\begin{document}

\begin{tikzpicture}
  \begin{axis}[
    domain=-10:10,
    samples=10,
    xmin=-10,xmax=10,
    ymin=-10,ymax=10,
    zmin=-10,zmax=10,
    point meta=z,
    ]
    \pgfplotsinvokeforeach{-10,-5,5,10}{
      \addplot3[quiver,-stealth,
      quiver={
        u={-y/(x^2+y^2},
        v={x/(x^2+y^2)},
        w={0},
        scale arrows=10,
        colored=mapped color
        }, 
      ]
      (x,y,#1);
    }
    \draw[ultra thick] (0,0,-12) -- (0,0,12);
    %\fill[gray,opacity=0.2] (-1,-1,0) rectangle (1,1,0);
    \end{axis}
\end{tikzpicture}
\end{document}

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

Разумеется, вы можете поиграть с цветовой картой и point meta.

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