每个人!
我在尝试用 LaTeX 绘图时遇到了一点问题。
让我尝试解释一下:我有一个 xyz 轴,如下图所示。
在 xy 轴上绘制任意二维数据点图:
\begin{filecontents}{data.dat}
0 0
1 1
2 4
\end{filecontents}
\begin{document}
\begin{tikzpicture}[scale=1]
\draw[thick,->,black] (0,0,0) -- (2,0,0) node[anchor=west]{$x$};
\draw[thick,->] (0,0,0) -- (0,4.5,0) node[anchor=east]{$y$};
\draw[thick,->] (0,0,0) -- (0,0,1) node[anchor=east]{$z$};
\draw[smooth] plot file {data.dat};
\end{tikzpicture}
结果:
问题是:我无法仅在 zy 轴上绘制类似的图形。
知道怎样做吗?
多谢!
答案1
该解决方案使用 tikzlibrary 3d
,使得使用 3d 坐标绘制 2d 基准变得更容易。
代码:
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usepackage{filecontents}
\usetikzlibrary{3d}
\begin{document}
\begin{filecontents}{data.dat}
0 0
1 1
2 4
\end{filecontents}
\begin{tikzpicture}
\draw[thick,->,black] (0,0,0) -- (2,0,0) node[anchor=west]{$x$};
\draw[thick,->] (0,0,0) -- (0,4.5,0) node[anchor=east]{$y$};
\draw[thick,->] (0,0,0) -- (0,0,2) node[anchor=east]{$z$};
\begin{scope}[canvas is xy plane at z=0]
\draw [smooth] plot file {data.dat};
\end{scope}
\begin{scope}[canvas is xz plane at y=0]
\draw [smooth] plot file {data.dat};
\end{scope}
\begin{scope}[canvas is yz plane at x=0]
\draw [smooth] plot file {data.dat};
\end{scope}
\end{tikzpicture}
\end{document}