尝试绘制 3D 曲线
(t,t^2,2*t^3), t\in [0,1],
使用代码:
\begin{tikzpicture}
\begin{axis}
%view={105}{5},
[samples y=0, axis lines=center,axis on top,xlabel=$x$, ylabel=$y$, zlabel=$z$]
\addplot3+[no markers,variable=t,domain=0:1,blue,samples=80,samples y=0] (t,t^2,2*t^3);
\end{axis}
\end{tikzpicture}
我得到了以下输出:
但我想在常规坐标系中绘制该曲线:
\begin{tikzpicture}
\draw[thick,->] (0,0,0)coordinate (O) -- (3,0,0) coordinate (X)
node[anchor=north east]{$y$};
\draw[thick,->] (0,0,0) -- (0,3,0) coordinate (Y) node[anchor=north
west]{$z$};
\draw[thick,->] (0,0,0) -- (0,0,3) coordinate (Z) node[anchor=south]{$x$};
\end{tikzpicture}
那是:
代码是哪一个?
稍后编辑:通过使用视图{95}{5},轴看起来像第二个输出中的一样,但并不完美:
\begin{tikzpicture}
\begin{axis}
[view={95}{5}, samples y=0, axis lines=center,axis on top,xlabel=$x$, ylabel=$y$, zlabel=$z$]
\addplot3+[no markers,variable=t,domain=0:1,blue,samples=80,samples y=0] (t,t^2,2*t^3);
\end{axis}
\end{tikzpicture}
答案1
这不是答案,而是试图更好地理解问题。在您想要的坐标系中,您对 x、y 和 z 方向进行循环排列,对吗?如果是这样,为什么手动更改view
和重新标记轴不起作用?强力解决方案当然不是最终解决方案,而是
\documentclass[border2mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[thick,->] (0,0,0)coordinate (O) -- (3,0,0) coordinate (X)
node[anchor=north east]{$y$};
\draw[thick,->] (0,0,0) -- (0,3,0) coordinate (Y) node[anchor=north
west]{$z$};
\draw[thick,->] (0,0,0) -- (0,0,3) coordinate (Z) node[anchor=south]{$x$};
\def\n{80}
\foreach \i in {1,...,\n} {
\pgfmathsetmacro{\u}{(\i-1)/\n}
\pgfmathsetmacro{\v}{((\i-1)/\n)^2}
\pgfmathsetmacro{\w}{2*((\i-1)/\n)^3}
\pgfmathsetmacro{\x}{(\i/\n)}
\pgfmathsetmacro{\y}{(\i/\n)^2}
\pgfmathsetmacro{\z}{2*(\i/\n)^3}
\draw[-,blue,thick,smooth] (\v,\w,\u) -- (\y,\z,\x);
}
\end{tikzpicture}
\end{document}
我发布这个只是为了了解这是否是你想要的情节,而且我知道这是一种非常复杂的情节制作方式。