11

I'm trying to represent 3 points in a 3D Cartesian plane. I can do the Cartesian plane but I can not make the grid and color the parts of the plan in yellow, orange and blue. Can you help me?

\documentclass{standalone}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[x=1pt, y=1pt, z=-0.5pt]  % Agh
% Let's draw some 3D axes
\coordinate (x) at (100,0,0);
\coordinate (y) at (0,100,0);
\coordinate (z) at (0,0,100);
\foreach \axis in {x,y,z}
\draw[-latex] (0,0,0) -- (\axis);

\end{tikzpicture}

\end{document}

enter image description here

10

This should get you started

\documentclass[]{article}
\usepackage{tikz}
\usetikzlibrary{3d}
\usetikzlibrary{calc}

\begin{document}

 \begin{tikzpicture} [x={(-0.6cm,-0.4cm)}, y={(1cm,0cm)}, z={(0cm,1cm)}, scale=1]
   \begin{scope}[canvas is zy plane at x=0]
     \fill[blue, opacity = 0.2] (0, 0) rectangle (6, 6);
     \draw[gray!40] (0, 0) grid (6, 6);
   \end{scope}

   \begin{scope}[canvas is zx plane at y=0]
     \fill[orange, opacity = 0.2] (0, 0) rectangle (6, 8);
     \draw[gray!40] (0, 0) grid (6, 8);
     \draw[black, -latex] (0, 0) -- (6.5, 0) node[left] {$z$};

     \draw[gray, -latex] (0, 0) -- (-3.5, 0);
     \foreach \z in {1,...,6} \draw[] (\z, -0.1) -- (\z, 0.1) node[left]{\z};
     \foreach \z in {-3,...,-1} \draw[gray] (\z, -0.1) -- (\z, 0.1) node[left]{\z};

   \end{scope}

   \begin{scope}[canvas is yx plane at z=0]
     \fill[yellow, opacity = 0.2] (0, 0) rectangle (6, 8);
     \draw[gray!40] (0, 0) grid (6, 8);

     \draw[black, -latex] (0, 0) -- (6.5, 0) node[above] {$y$};
     \draw[black, -latex] (0, 0) -- (0, 8.5) node[above] {$x$};

     \draw[gray, -latex] (0, 0) -- (0, -8.5);
     \foreach \x in {0,...,8} \draw[] (-0.1, \x) -- (0.1, \x) node[right]{\x};
     \foreach \x in {-8,...,-1} \draw[gray] (-0.1, \x) -- (0.1, \x) node[right]{\x};

     \draw[gray, -latex] (0, 0) -- (-4.5, 0);
     \foreach \y in {1,...,6} \draw[] (\y, -0.1) -- (\y, 0.1) node[below]{\y};
     \foreach \y in {-4,...,-1} \draw[gray] (\y, -0.1) -- (\y, 0.1) node[below]{-\y};
   \end{scope}

   \fill[black] (2, 4, 3) circle (0.05) node[above]{$P$};
   \draw[red, thick] (0, 4, 0) -- (2, 4, 0);
   \draw[blue, thick] (2, 4, 0) -- (2, 4, 3);
   \draw[green, thick] (2, 0, 0) -- (2, 4, 0);

 \end{tikzpicture}
\end{document}

enter image description here

  • thank you so much! I'll analyse the code! One question... how can I erase the arrow in the final parts of the axis (with negative numbers)? look at the picture. – ryuk Dec 26 '18 at 15:08
  • 1
    @ryuk Change \draw[gray, -latex] (0, 0) -- (-3.5, 0); to \draw[gray] (0, 0) -- (-3.5, 0); – caverac Dec 26 '18 at 15:09
  • thanks...I mean I would like to see only one arrow for axis and not two ;) – ryuk Dec 26 '18 at 15:12
  • 1
    @ryuk Right, the change above should do it, it removes the arrow tip, but leaves the axis untouched otherwise – caverac Dec 26 '18 at 15:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.