
Я экспериментирую, чтобы найти хороший способ сделать 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
.