使用 tikz 制作情绪之轮

使用 tikz 制作情绪之轮

你能告诉我如何画出情绪之轮 pluchik 吗?就像这样:

在此处输入图片描述

答案1

我意识到当 OP 实际上没有做任何事情时提供答案通常会遭到反对,但无论如何这是一个开始......

\documentclass[tikz,border=5]{standalone}
\renewcommand\familydefault\sfdefault
\begin{document}
\begin{tikzpicture}[x=1.375cm,y=1.375cm]
\foreach \r in {4,3}
  \draw [dashed] circle [radius=\r];

\foreach \c [count=\i from 0] in  
  {green!50!black, green!75!brown, yellow!50!white, orange, red, magenta, blue, blue!50!cyan}{
  \foreach \s [count=\j from 0] in {25,50,75,100}{
    \begin{scope}[rotate=\i*45]
      \clip (0,0) -- (22.5:2)
        arc (90:0:3 and 2*sin 22.5)
        arc (360:270:3 and 2*sin 22.5) -- cycle;
      \fill [fill=\c!\s!white] circle [radius=5-\j];
      \draw circle [radius=5-\j];
     \end{scope}
}}

\foreach \i in {0,...,7}
  \draw [rotate=\i*45] (0,0) -- (22.5:2)  
    arc (90:0:3 and 2*sin 22.5)
    arc (360:270:3 and 2*sin 22.5);

\foreach \emotionlist [count=\i] in
  {{terruer,peur,apprehension},
   {admiration,confiance,acceptation},
   {extase,joie,s\'er\'enit\'e},
   {vigilance,anticipation,in\'er\^et},
   {rage,col\`ere,agacement},
   {r\'epugnance,d\'ego\^ut,ennui},
   {chagrin,tristesse,rumination},
   {stup\'efaction,surprise,distraction}}
  \foreach \emotion [count=\j] in \emotionlist
    \node [anchor=base, font=\footnotesize, emotion label \i-\j/.try] at (\i*45-45:\j+.5) {\emotion};

\foreach \emotion [count=\i] in
{soumission, amour, optimisme, agressivit\`e,m\'epris,remords,d\`esapprobation,respect}
  \node [anchor=base, font=\footnotesize]
    at (\i*45-22.5:4.75) {\emotion};

\end{tikzpicture}
\end{document}

在此处输入图片描述

事实上,我认为这看起来更好:

\documentclass[tikz,border=5]{standalone}
\renewcommand\familydefault\sfdefault
\begin{document}
\begin{tikzpicture}[x=1.375cm,y=1.375cm]

\fill [even odd rule, gray!20] circle [radius=5] circle [radius=4] circle [radius=3];
\begin{scope}
\clip  (22.5:2) \foreach \i in {0,...,7}{ [rotate=-\i*45]
   arc (90:0:3 and 2*sin 22.5)  arc (360:270:3 and 2*sin 22.5)
 } -- cycle;

\foreach \c [count=\i from 0] in  
  {green!50!black, green!75!brown, yellow!50!white, orange, red, magenta, blue, blue!50!cyan}
  \fill [fill=\c, rotate=\i*45] (-22.5:0) -- (-22.5:5) arc (-22.5:22.5:5) -- cycle;
\foreach \r in {3,4,5}
  \fill [opacity=(\r^2)/35, even odd rule, fill=white] circle [radius=\r] circle [radius=\r-1];
\end{scope}

\foreach \emotionlist [count=\i] in
  {{terruer,peur,apprehension},
   {admiration,confiance,acceptation},
   {extase,joie,s\'er\'enit\'e},
   {vigilance,anticipation,in\'er\^et},
   {rage,col\`ere,agacement},
   {r\'epugnance,d\'ego\^ut,ennui},
   {chagrin,tristesse,rumination},
   {stup\'efaction,surprise,distraction}}
  \foreach \emotion [count=\j] in \emotionlist
    \node [anchor=base, font=\footnotesize, emotion label \i-\j/.try] at (\i*45-45:\j+.5) {\emotion};

\foreach \emotion [count=\i] in
{soumission, amour, optimisme, agressivit\`e,m\'epris,remords,d\`esapprobation,respect}
  \node [anchor=base, font=\footnotesize]
    at (\i*45-22.5:4.75) {\emotion};

\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

这是一个开始——违背我的更好判断。

\PassOptionsToPackage{rgb,x11names,svgnames}{xcolor}
\documentclass[tikz,border=5pt]{standalone}
\newlength\myradius
\setlength\myradius{50mm}
\usetikzlibrary{calc}
\begin{document}
  \begin{tikzpicture}[font=\sffamily\large]
    \path [draw] circle (\myradius);
    \path [draw, densely dashed] circle (1.5\myradius) circle (2\myradius);
    \foreach \i/\j/\k/\l [count=\n]  in {ForestGreen/emotion/emotion/emotion,DeepSkyBlue2/emotion/emotion/emotion,blue/emotion/emotion/emotion,DarkViolet/emotion/emotion/emotion,red/emotion/emotion/emotion,orange/emotion/emotion/emotion,yellow/emotion/emotion/emotion,green/emotion/emotion/emotion}
    {
      \path [fill=\i, draw] (0,0) -- (67.5-45*\n:\myradius) coordinate (\n1) arc (67.5-45*\n:22.5-45*\n:\myradius) -- cycle;
      \path [fill=\i, fill opacity=.75, draw] (\n1) -- (57.5-45*\n:1.5\myradius) coordinate (\n3) arc (57.5-45*\n:32.5-45*\n:1.5\myradius) coordinate (\n4) -- (22.5-45*\n:\myradius) coordinate (\n2) arc (22.5-45*\n:67.5-45*\n:\myradius);
      \path [fill=\i, fill opacity=.5, draw] (\n3) -- (52.5-45*\n:2\myradius) coordinate (\n5) arc (52.5-45*\n:37.5-45*\n:2\myradius) coordinate (\n6) -- (\n4) arc (32.5-45*\n:57.5-45*\n:1.5\myradius);
      \path [fill=\i, fill opacity=.25, draw] (\n5) -- (45-45*\n:2.5\myradius) coordinate (\n7) -- (\n6) arc (37.5-45*\n:52.5-45*\n:2\myradius);
      \node at (45-45*\n:.75\myradius) {\j};
      \node at (45-45*\n:1.25\myradius) {\j};
      \node at (45-45*\n:1.75\myradius) {\j};
    }
  \end{tikzpicture}
\end{document}

情绪

相关内容