\documentclass[tikz]{standalone}
\usepackage{tikz-3dplot}
\usepackage{pgfplots}
\pgfplotsset{compat = 1.8}
\begin{document}
\tdplotsetmaincoords{60}{130}
\begin{tikzpicture}[tdplot_main_coords]
\begin{axis}[
samples = 1000,
domain = -pi / 2:4 * pi,
samples y = 0,
no markers,
axis lines = none
]
\draw[-latex] (axis cs: 0, 0, 0) -- (axis cs: 3, 0, 0);
\draw[-latex] (axis cs: 0, 0, 0) -- (axis cs: 0, 3, 0);
\draw[-latex] (axis cs: 0, 0, 0) -- (axis cs: 0, 0, 5);
\addplot3 ({cos(deg(x))}, {sin(deg(x))}, {.5 * x});
\end{axis}
\end{tikzpicture}
\end{document}
我怎样才能将其tdplot_main_coords
传递到pgfplot
s 中以便我的轴不至于完全疯狂?
答案1
似乎可以通过 , , 将tikz-3dplot
角度\tdplotsetmaincoords{h}{v}
转换为 的角度。对于您的情况,您需要。至少看起来是这样。pgfplots
view={H}{V}
H=h+45
V=v-90
view={115}{20}
-latex
关于为什么忽略箭头的评论:我认为这是因为 pgfplots 已激活剪辑。添加该选项clip=false
可能会有所帮助(如果我错了,请纠正我)。
答案2
这是一个不使用 pgfplots 的替代解决方案
\documentclass[tikz]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{60}{130}
\begin{tikzpicture}[tdplot_main_coords]
\draw[->] (0,0,0) -- (2,0,0) node[right] {x};
\draw[->] (0,0,0) -- (0,2,0) node[left] {y};
\draw[->] (0,0,0) -- (0,0,3) node[above] {z};
\draw[thick,blue] (1,0,0)
\foreach \a in {0,0.1,...,15.71}
{ -- ({cos(deg(\a))},{sin(deg(\a)},{.10*\a})
};
\end{tikzpicture}
\end{document}