我正在尝试重现3dplots 示例来自 www.texample.net 使用 pgfplots:
到目前为止,实际上我并没有取得多大进展。一个问题是 pgfplots 不允许在球坐标中工作,所以我必须用笛卡尔坐标来表达一切。另一个问题是 pgfplots 不提供像 3dplots 那样绘制圆弧的简单方法,因此显示\tdplotdrawarc
向量与 z 轴之间的角度 (\theta) 或向量与 xy 平面之间的角度 (\phi) 变得困难。我可以想象通过在 xy 平面上画一个圆来做后者,但我不知道如何在由向量和 z 轴描述的平面上画一个圆。
有什么想法可以解决这个问题吗?
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{pgfplots}
\begin{document}
\pgfmathsetmacro{\rvec}{.8}
\pgfmathsetmacro{\thetavec}{30}
\pgfmathsetmacro{\phivec}{60}
\begin{tikzpicture}
\begin{axis}[
view={115}{30},
axis lines=center,
% xlabel=$e^1$,% Horribly misplaced label
% ylabel=$e^2$,% Makes the entire plot break when used with xlabel
z post scale=1.5
]
\addplot3[-stealth',domain=0:4] ({x*sin(\thetavec)*cos(\phivec)},%
{x*sin(\thetavec)*sin(\phivec)},%
{x*cos(\thetavec)});
\end{axis}
\end{tikzpicture}
\end{document}