\documentclass[border=20pt]{standalone}
\usepackage{tikz}
\usepackage{xifthen}
\usetikzlibrary{decorations.text}
\renewcommand*\familydefault{\sfdefault}
\begin{document}
\begin{tikzpicture}[
font=\Large,
scale=1,
Grid/.style={
loosely dotted,
line width=1.5pt,
color=black
},
Separator/.style={
thick,
color=black!50
},
Border/.style={
line width=1pt,
color=red!60
},
Border2/.style={
line width=2pt,
color=red!60
},
Fill/.style={
fill=black,
opacity=0.1
}
]
\def\lifeweel#1#2#3#4[#5][#6](#7)(#8){
\begin{scope}[shift={(#7)}]
\foreach \n in {0,#2,...,#1}{
\draw[fill=black, opacity=0.1] (0,0) circle [radius=\n];}
\foreach \n in {0,#2,...,#1}{
\draw[Grid] (0,0) circle [radius=\n];
\node[anchor=#5] (A) at (#6:\n+0.2){\n};}
\foreach \m [count=\i] in {0,1,...,#3}{
\draw[Separator] (0,0) -- (360/#3*\i: #1);}
\draw[Border] (0,0) circle [radius=#1];
\foreach \o/\p [count=\j] in {#4}{
\pgfmathparse{int(360/#3*\j)}
\ifthenelse{ \pgfmathresult >180}
{
\path[
decoration={
raise = -0.8ex,
text along path,
text = {|\huge|\o},
text align = center,
reverse path
},
decorate
]
(360/#3*\j:#1+0.7) arc (360/#3*\j:360/#3*(\j-1):#1+0.7);
}
{
\path[
decoration={
raise = -0.8ex,
text along path,
text = {|\huge|\o},
text align = center
},
decorate
]
(360/#3*\j:#1+0.7) arc (360/#3*\j:360/#3*(\j-1):#1+0.7);
}
\draw[Border2]
(360/#3*\j:\p) coordinate (#8a\j)
arc (360/#3*\j:360/#3*(\j-1):\p) coordinate (#8b\j);
\draw[fill=red, opacity=0.2]
(0,0) -- (360/#3*\j:\p) arc (360/#3*\j:360/#3*(\j-1):\p);
}
\pgfmathparse{int(#3+1)}
\coordinate (#8b\pgfmathresult) at (#8b1);
\foreach \o/\p [count=\i, evaluate=\i as \x using int(\i+1)] in {#4}{
\draw[Border2] (#8a\i) -- (#8b\x);}
\end{scope}
}
\def\lifeweelS#1#2#3#4[#5][#6](#7)(#8){
\begin{scope}[shift={(#7)}]
\foreach \n [count=\m] in {0,#2,...,#1}{
\node[anchor=#5] (A) at (#6:\n+0.2){\n};
}
\foreach \n in {0,#2,...,#1}{
\foreach [count=\i, evaluate=\i as \x using int(\i+1)]\m in {0,1,...,#3}{
\draw[Grid](360/#3*\i:\n) -- (360/#3*\x:\n);
\draw[Fill](360/#3*\i:\n) -- (0,0) -- (360/#3*\x:\n);
}
}
\foreach \m [count=\i] in {0,1,...,#3}{
\draw[Separator] (0,0) -- (360/#3*\i: #1);}
\draw[fill=black, opacity=0.1] (0,0) circle [radius=#1];
\draw[Border] (0,0) circle [radius=#1];
\foreach \o/\p [count=\j from 0] in {#4}{
\pgfmathparse{int(360/#3*\j)}
\ifthenelse{\pgfmathresult =90 \OR \pgfmathresult =270}
{
\draw (360/#3*\j:#1+0.7) node [anchor=center]{\huge\o};
}
{
\ifthenelse{\pgfmathresult <90 \OR \pgfmathresult >270}
{
\draw (360/#3*\j:#1+0.7) node [anchor=west]{\huge\o};
}
{
\draw (360/#3*\j:#1+0.7) node [anchor=east]{\huge\o};
}
}
\coordinate (#8c\j) at (360/#3*\j:\p);
}
\coordinate (#8c#3) at (#8c0);
\foreach \o/\p [count=\i from 0, evaluate=\i as \x using int(\i+1)] in {#4}{
\draw[Border2] (#8c\i) -- (#8c\x);
\draw[fill=red, opacity=.2] (#8c\i) --(0,0) -- (#8c\x);
}
\end{scope}
}
\lifeweel{10}{2}{8}{Money/5, Entertainment/4, Romance/7, Presonal Growth/9, Friends {\&} Family/3, Financial/5, Spiritual/7, Health/5}[45][180](0,0)(1);
\lifeweel{10}{1}{5}{Money/5, Entertainment/3, Romance/8, Presonal Growth/6, Friends {\&} Family/8}[-90][0](25,0)(2);
\lifeweelS{10}{2}{8}{Money/5, Entertainment/4, Romance/7, Presonal Growth/9, Friends {\&} Family/3, Financial/5, Spiritual/7, Health/5}[45][180](0,-25)(3);
\lifeweelS{10}{1}{5}{Money/5, Entertainment/3, Romance/8, Presonal Growth/6, Friends {\&} Family/8}[-90][0](25,-25)(4);
\end{tikzpicture}
\end{document}