如何创建这样的饼图?

如何创建这样的饼图?

我需要创建这个饼图

\mypie{x,y,82}{basecolor}{Fillcolor}{Some Text,L}

x= 第一个圆的半径,y= 第二个同心圆的半径(这是为了控制圆的大小和两个同心圆之间的厚度,如果您愿意,可以随意提供另一种方式来提供值)

  • 82 是百分比应为 82%,如中间所示,使用填充颜色书写
  • “一些文本”将自身相对放置在饼图的左侧或右侧的中心位置 [L 在此处为左侧,R 应使文本显示在右侧] 此处的基色为灰色,填充色为绿色,如图所示这里

附加组件:

 \mypie{x,y,82}{basecolor}{Fillcolor}{Some Text,L}{3D}
  • 给出一个可选开关来获得类似上述饼图的 3D 管道效果,即圆形管道效果,而不是上述平面 2D 效果。

答案1

好吧,这是一个使用 Tikz 和 的自定义解决方案xstring。命令如下:

\percentage[ <optional> ]{ <radius,perc> }{ <color1,color2> }{ <label,position> }
  1. 参数optional的长度为1.5mm等。默认值为2pt
  2. 第二个参数实际上采用如图所示的两个值,以逗号分隔。确定radius圆圈的大小(而不是其宽度),而百分比计算进度圈栏,当然还有中央标签。
  3. 第三个参数采用颜色,第一个是下面的颜色,第二个是进度条。
  4. 最后一个参数带有标签及其位置。在本例中,我保留了默认位置名称,因为对于此命令来说,重命名它们是没有意义的。它们如下:
    • 上、右、左、下
    • 右上方/左上方,右下方/左下方
    • 您还可以使用任意角度,例如:90(上方)、45(右上方)等等。

输出

在此处输入图片描述

代码

\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usepackage{xstring}

\newcommand\percentage[4][2pt]{%
\tikz{
    \StrBehind{#2}{,}[\perc]
    \StrBefore{#2}{,}[\lwidth]
    \StrBehind{#3}{,}[\percl]
    \StrBefore{#3}{,}[\backl]
    \StrBehind{#4}{,}[\pos]
    \StrBefore{#4}{,}[\lbl]
    \pgfmathsetmacro\endangle{-(\perc/100*360)+90}
    \draw[\backl, line width=#1] (90:\lwidth mm) arc (90:-270:\lwidth mm); 
    \draw[\percl, line width=#1] (90:\lwidth mm) arc (90:\endangle:\lwidth mm);
    \pgfmathsetmacro\halfw{\lwidth/2}
    \node[circle, 
        minimum size=\halfw mm, 
        text=\percl,
        label={\pos:\lbl}
        ] {$\perc\%$};
}
}

\begin{document}
\percentage{7,64.90}{gray!20,green}{Some text,above right}
\end{document}

相关内容