我尝试绘制磁性粒子的能量表面。为此,我希望轴系统从粒子内部指向外部。这基本上是下面的示例,但 z 轴位于锥体内部。
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.8}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=center,
axis on top,
xlabel={$x$}, ylabel={$y$}, zlabel={$z$},
domain=0:1,
y domain=0:2*pi,
xmin=-1.5, xmax=1.5,
ymin=-1.5, ymax=1.5, zmin=0.0,
mesh/interior colormap=
{blueblack}{color=(black) color=(blue)},
colormap/blackwhite,
samples=10,
samples y=40,
z buffer=sort,
]
\addplot3[surf]
({x*cos(deg(y))},{x*sin(deg(y))},{x});
\end{axis}
\end{tikzpicture}
\end{document}
澄清一下:第二幅图显示了磁性纳米粒子的晶体能量图。晶体轴现在应该从粒子中心延伸到外部,表面位于红色区域。但由于 PGFplots 在背景中绘制轴线,因此光学结果不太理想。
答案1
似乎可以使用 中的图层来实现pgfplots
,但我搞不懂。这是一个强力解决方案,您可以通过为 设定不同的限制来将后半部分与前半部分分开绘制y domain
。
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.8}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=none,
xlabel={$x$}, ylabel={$y$}, zlabel={$z$},
domain=0:1,
y domain=0:pi,
xmin=-1.5, xmax=1.5,
ymin=-1.5, ymax=1.5, zmin=0.0, zmax=1.5,
mesh/interior colormap=
{blueblack}{color=(black) color=(yellow)},
colormap/blackwhite,
samples=10,
samples y=20,
z buffer=sort,
]
\addplot3[surf]
({x*cos(deg(y))},{x*sin(deg(y))},{x});
\end{axis}
\begin{axis}[
axis lines=center,
xlabel={$x$}, ylabel={$y$}, zlabel={$z$},
domain=0:1,
y domain=pi:2*pi,
xmin=-1.5, xmax=1.5,
ymin=-1.5, ymax=1.5, zmin=0.0, zmax=1.5,
mesh/interior colormap=
{blueblack}{color=(black) color=(yellow)},
colormap/blackwhite,
samples=10,
samples y=20,
z buffer=sort,
]
\addplot3[surf]
({x*cos(deg(y))},{x*sin(deg(y))},{x});
\end{axis}
\end{tikzpicture}
\end{document}