答案1
欢迎!画这样的东西并不太难。一种方法是定义一张图片并一遍又一遍地重复它。然而,从屏幕截图中输入文字有点麻烦。所以我用通用文本替换了其中一些。
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{arrows.meta,bending,decorations.text,positioning}
\begin{document}
\begin{tikzpicture}[font=\sffamily,node distance=1ex,
pics/pilz/.style={code={
\tikzset{pilz/.cd,#1}
\def\pv##1{\pgfkeysvalueof{/tikz/pilz/##1}}%
\draw[pic actions] (\pv{alpha}+\pv{beta}/2:\pv{r}) -- (\pv{alpha}+\pv{beta}/2:\pv{R})
foreach \XX in {1,...,\pv{n}}
{to[out=0,in=-120]
({{\pv{alpha}+\pv{beta}/2-\XX*\pv{beta}/\pv{n}+\pv{beta}/(2*\pv{n})}}:\pv{xi}*\pv{R})
to[out=-60,in=180]
({\pv{alpha}+\pv{beta}/2-\XX*\pv{beta}/\pv{n}}:\pv{R})}
-- (\pv{alpha}-\pv{beta}/2:\pv{r});
\path[decorate,decoration={text along path, text=\pv{text},text align=center}]
(\pv{alpha}+\pv{beta}/2:\pv{r}/2+\pv{R}/2)
arc[start angle=\pv{alpha}+\pv{beta}/2,end angle=\pv{alpha}-\pv{beta}/2,
radius=\pv{r}/2+\pv{R}/2];
}},pilz/.cd,r/.initial=1,R/.initial=2,alpha/.initial=90,
beta/.initial=45,xi/.initial=1.1,text/.initial={},n/.initial=1]
\path foreach \Y [count=\X] in {fox,marmot,cat,koala,bear,duck,mouse,%
anteater,rhino,hippo,lion,tiger,lynx,owl}
{pic[rotate={90+180/28-180*\X/14}]{pilz={beta=180/14,r=5,R=6.5,text=|\sffamily|\Y}}
};
\foreach \X in {-10,...,10}
{\pic[rotate={-180*\X/21},fill=gray!25]{pilz={beta=180/21,r=4,R=5,xi=1.05}};
\path (90-180*\X/21:4.7)node{$\mathsf{\X}$};
}
\path foreach \Y [count=\X] in {mental,spiritual,overall,physical,eotional}
{pic[rotate={90+180/10-180*\X/5},fill=white]{pilz={beta=180/5,n=3,r=3,R=4,xi=1.05,
text=|\sffamily|\Y}}
};
\path foreach \Y [count=\X] in {astral,etheric,celestial,karmic,univeral}
{pic[rotate={90+180/10-180*\X/5},fill=gray!25]{pilz={beta=180/5,n=3,r=2,R=3,xi=1.05,
text=|\sffamily|\Y}}
};
\path foreach \Y [count=\X] in {critical,poor,fair,good,excellent}
{pic[rotate={90+180/10-180*\X/5},fill=white]{pilz={beta=180/5,n=3,r=1,R=2,xi=1.05,
text=|\sffamily\tiny|\Y}}
};
\draw foreach \X in {0,...,5}
{(\X*180/5:0.5) --(\X*180/5:1.5)};
\draw[fill] (0.5,0) arc[start angle=0,end angle=180,radius=0.5];
\path (0,0) node[below=1ex] (L){level of health}
node[below=of L] (B){bodies}
node[below=of B] (P){percentage of health}
node[below=of P] (O){organs of the body};
\foreach \X/\Y [count=\Z] in {L/1.25,B/2.5,B/3.5,P/4.5,O/5.75}
{\draw[thick,-{Latex[bend,length=2mm]}] (\X) -- (\Y-0.1*\Z,0|-\X) to[bend right=15] (\Y,0);
\draw[thick,-{Latex[bend,length=2mm]}] (\X) -- (-\Y+0.1*\Z,0|-\X) to[bend left=15] (-\Y,0);}
\end{tikzpicture}
\end{document}