
Estou experimentando para encontrar uma boa maneira de fazer um gráfico de campo vetorial 3D de um campo magnético de um fio fino. Uma ideia era usar uma cor diferente para cada valor z fixo. Eu apenas tentei usar a lista de ciclos, mas isso não parece funcionar com gráficos de quiver. Como posso fazer isso funcionar:
\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}
Responder1
Use colored=mapped color
(e alguns point meta
, se necessário).
\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}
Obviamente você pode brincar com o mapa de cores e point meta
.