仅在一个计划中绘制二维数据点

仅在一个计划中绘制二维数据点

每个人!

我在尝试用 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}

相关内容