Spherical Coordinates in 3D Plane

For more figures related to the definition of coordinate systems, please have a look at the “coordinates” tag.

Edit and compile if you like:

\documentclass[border=3pt]{standalone}

%Drawing
\usepackage{tikz}

%3D
\usepackage{tikz-3dplot}

%Tikz Library
\usetikzlibrary{angles, quotes, intersections}

%Styles
\tikzset{axis/.style={thick,-latex}}
\tikzset{vec/.style={thick,blue}}
\tikzset{univec/.style={thick,red,-latex}}

%Notation
\usepackage{physics}
\usepackage{bm}

\begin{document}

\tdplotsetmaincoords{70}{110}
%
\pgfmathsetmacro{\thetavec}{48.17}
\pgfmathsetmacro{\phivec}{63.5}
%

\begin{tikzpicture}[tdplot_main_coords]
%Axis
\draw[axis] (0,0,0) -- (6.5,0,0) node [pos=1.1] {$x$};
\draw[axis] (0,0,0) -- (0,6,0) node [pos=1.05] {$y$};
\draw[axis] (0,0,0) -- (0,0,5.5)  node [pos=1.05] {$z$};

%Unit Vectors
%		\tdplotsetcoord{p}{1}{90}{\phivec}
%    	\draw[univec] (2,4,0) -- ($(p)+(2,4,0)$) node [pos=1.35] {$\vu*{\varpi}$};
\tdplotsetcoord{P'}{7}{\thetavec}{\phivec}
\draw[univec] (0,0,0) -- (P') node [pos=1.05] {$\vu{r}$};
\tdplotsetcoord{P''}{1}{90}{90+\phivec}
\draw[univec] (2,4,0) -- ($(P'') + (2,4,0)$) node [pos=1.3] {$\vu*{\phi}$};
\tdplotsetcoord{P'''}{1}{90+\thetavec}{\phivec}
\draw[univec] (2,4,4) -- ($(P''') + (2,4,4)$) node [pos=1.3] {$\vu*{\theta}$};

%Vectors
\tdplotsetcoord{P}{6}{\thetavec}{\phivec}
\draw[vec] (0,0,0) -- (P) node [midway, above] {$r$};
\draw[thick] (0,0,0) -- (2,4,0);

%Help Lines
\draw[dashed] (2,4,4) -- (2,4,0);
\draw[dashed] (2,0,0) -- (2,4,0) node [pos=-0.1] {$x$};
\draw[dashed] (0,4,0) -- (2,4,0) node [pos=-0.3] {$y$};
\draw[dashed] (0,0,4) -- (2,4,4) node [pos=-0.1] {$z$};
\draw[dashed, tdplot_main_coords] (4.47,0,0) arc (0:90:4.47);

%Point
\node[fill=black, circle, inner sep=0.8pt] at (2,4,4) {};

%Angles
\tdplotdrawarc{(0,0,0)}{0.7}{0}{\phivec}{below}{$\phi$}

\tdplotsetthetaplanecoords{\phivec}
\tdplotdrawarc[tdplot_rotated_coords]{(0,0,0)}{0.5}{0}{\thetavec}{}{}
\node at (0,0.25,0.67) {$\theta$};

\end{tikzpicture}

\end{document}