我想改变 TikZ 中输入坐标的顺序。
在二维坐标中,它是 (x,y),即 (右/左,上/下)。只要我输入第三个坐标,TikZ 就会在末尾添加第三个坐标。然后是 (左/右,上/下,前/后) 是否可以将输入坐标的格式更改为
(前/后,左/右,上/下)?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes, arrows, shadows,trees, decorations.markings, positioning, patterns, plotmarks,
matrix,decorations.pathmorphing,backgrounds,fit,shapes.symbols,chains, 3D, calc}
\usepackage{kpfonts}
\begin{document}
\begin{tikzpicture}[scale=4]
\draw[->] (0,0,0) -- (1,0,0) node[above]{$x$};
\draw[->] (0,0,0) -- (0,1,0) node[left]{$y$};
\draw[->] (0,0,0) -- (0,0,1) node[left]{$z$};
\end{tikzpicture}
\vspace{5cm}
\begin{tikzpicture}[scale=4]
\draw[->] (0,0,0) -- (1,0,0) node[above]{$y$};
\draw[->] (0,0,0) -- (0,1,0) node[left]{$z$};
\draw[->] (0,0,0) -- (0,0,1) node[left]{$x$};
\end{tikzpicture}
\end{document}
是否有人知道如何进行循环排列,以便第一个输入的坐标是 x 坐标,就像第二个例子中那样?
答案1
可以通过指定、和的向量来xyz
配置坐标系。示例使用不同的坐标分量映射来定义样式:xy canvas
x
y
z
yzx
\documentclass{article}
\usepackage{tikz}
\tikzstyle{yzx} = [
x={(-.385cm, -.385cm)},
y={(1cm, 0cm)},
z={(0cm, 1cm)},
]
\begin{document}
\begin{tikzpicture}[scale=1.5]
\draw[->] (0,0,0) -- (1,0,0) node[above]{$x$};
\draw[->] (0,0,0) -- (0,1,0) node[left]{$y$};
\draw[->] (0,0,0) -- (0,0,1) node[left]{$z$};
\end{tikzpicture}
\vspace{.5cm}
\begin{tikzpicture}[yzx, scale=1.5]
\draw[->] (0,0,0) -- (1,0,0) node[left]{$x$};
\draw[->] (0,0,0) -- (0,1,0) node[above]{$y$};
\draw[->] (0,0,0) -- (0,0,1) node[left]{$z$};
\end{tikzpicture}
\end{document}