不同圆形扇区作为国际体系的新标志

不同圆形扇区作为国际体系的新标志

这个问题并没有要求用户提供完整的 MWE,而只是为了一步步获取创建不同圆形扇区的信息。

在此处输入图片描述 该图片取自该网站:https://www.inrim.it/sites/default/files/mediaroot/eventi/logo_nuovosi.png

我只阅读了制作饼图的手册pgf-pie,并非常真诚地看到了用户的反馈,我感到非常害怕(见此处:多层甜甜圈派)。

事实上,我想知道是否需要很多代码来制作非 3D 的正面代码。

我想这样做是因为我绝对不喜欢像$\Delta v$和这样的符号$K_{\text{cd}}$

因此我只要求用户提供最简单的步骤,而不是完整的 MWE。

谢谢(非常抱歉我没有添加图片链接,也没有说明它仅供我使用,不会被发布或不当使用)。

答案1

以下代码看起来足够简单,并解决了底部块中字母的旋转问题。

\documentclass[border=3mm]{standalone}


\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}

\usepackage{arev}


\begin{document}
\Large

\begin{tikzpicture}[scale=1.3]
% -----------------------------------
% the \foreach-part
\foreach\n/\k/\l/\o
    [evaluate={\n as \p         using int((\n-3)*(\n-4))},
     evaluate={\n as \angle     using (90+360/14-360/7*\n)},
     evaluate={\n as \Angle     using (90+360/14-360/7*(\n+1))},
     evaluate={\n as \nsegment  using (360/7*\n)}
    ]
    in
    {0  /red/kg/$h$,
     1  /orange/m/$c$,
     2  /yellow/s/$\Delta v$,
     3  /Green/A/$e$,
     4  /RoyalBlue/K/$k$,
     5  /violet/mol/$N_A$,
     6  /Blue/cd/$K_{\textnormal{\scriptsize cd}}$%
    }
    {\fill[draw=white,line width=2.5pt,fill=\k!90!black,domain=\angle:\Angle,variable=\t]
        plot ({2*cos(\t)},{2*sin(\t)})
        -- (0,0)
        -- cycle;
     \fill[white,opacity=.4,domain=\angle:\Angle,variable=\t]
        plot ({1.2*cos(\t)},{1.2*sin(\t)})
        -- (0,0)
        -- cycle;
     \ifnum\p=0
        \path
            node[white,rotate=180-\nsegment] at (90-\nsegment:1.6) {\l}
            node[rotate=180-\nsegment,font=\small] at (90-\nsegment:.95) {\o};
     \else
        \path
            node[white,rotate=-\nsegment] at (90-\nsegment:1.6) {\l}
            node[font=\small,rotate=-\nsegment] at (90-\nsegment:.95) {\o};
     \fi
    }
% -----------------------------------
\node[circle,font=\huge,fill=white,inner sep=7pt] (0,0) {SI};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

也许是这样的:

在此处输入图片描述

您可以通过查看彩色手动。如果您确实想要KA并且s像 OP 中那样旋转,则可以这样做,但下面的旋转更自然。

以下是代码:

\documentclass[tikz, border=2mm]{standalone}

\begin{document}

  \begin{tikzpicture}
    \foreach \top/\mid/\col [count=\c,
                  evaluate=\c as \st using {360/7*(\c-1)+1},
                  evaluate=\c as \en using {360/7*\c-1},
                  evaluate=\st as \se using {(\st+\en)/2}
    ] in {m/c/orange,
          kg/h/red,
          cd/K_cd/purple,
          mol/N_A/purple,
          K/k/blue,
          A/e/green,
          S/\Delta v/yellow} {
       \draw[\col,fill=\col!80] (\st:1)--(\st:2)
           arc [start angle=\st, end angle=\en, radius=2]
           --(\en:1)
           arc [start angle=\en, end angle=\st, radius=1];
       \draw[\col,fill=\col!50] (\st:0.5)--(\st:1)
           arc [start angle=\st, end angle=\en, radius=1]
           --(\en:0.5)
           arc [start angle=\en, end angle=\st, radius=0.5];
       \node[white,rotate=\se-90,font=\bfseries] at (\se:1.5){\top};
       \node[rotate=\se-90,font=\scriptsize] at (\se:0.75){$\mid$};
    }
  \end{tikzpicture}

\end{document}

答案3

轮图我写的包,可以使用。

数据首先存储在宏中\WClist

切片之间的间隙是通过密钥获得的gap

我们设置value=1每个切片的大小相同。我们还将键设置为data空。

车轮的转动数据由键决定wheel data style

在此处输入图片描述

\documentclass[border=6pt,dvipsnames]{standalone}
\usepackage{wheelchart}
\begin{document}
\begin{tikzpicture}
\sffamily
\def\WClist{%
  Red/kg/$h$,
  Orange/m/$c$,
  Dandelion/s/$\Delta v$,
  Green/A/$e$,
  RoyalBlue/K/$k$,
  Purple/mol/$N_{A}$,
  Blue/cd/$K_{cd}$%
}
\pgfkeys{
  /wheelchart,
  data=,
  gap=0.03,
  start half,
  value=1,
  wheel data pos=0.5,
  wheel data style={rotate={\WCmidangle<225?\WCmidangle-90:(\WCmidangle<315?\WCmidangle+90:\WCmidangle-90)}}
}
\wheelchart[
  middle={\huge SI},
  radius={1.2}{2},
  slices style=\WCvarA,
  wheel data={\textcolor{white}{\WCvarB}}
]{\WClist}
\wheelchart[
  radius={0.75}{1.2},
  slices style=\WCvarA!60,
  wheel data={\footnotesize\WCvarC}
]{\WClist}
\end{tikzpicture}
\end{document}

相关内容