如何防止饼图中的标签重叠?

如何防止饼图中的标签重叠?

我想知道如何防止饼图的标签重叠并更好地控制它们的位置?

我正在使用pgf-pie软件包,但我不知道是否可以轻松修改软件包以实现这一点。如果不行,我也对不pgf-pie使用 和 的更“手动”的解决方案感兴趣tikz

在此处输入图片描述

\documentclass{article}    
\usepackage{pgf-pie}    
\begin{document}
\begin{tikzpicture}
    \pie[rotate=90, text=pin, hide number, sum=auto]{
            1000/{\pgfmathprintnumber{1000.0}},
            300/{\pgfmathprintnumber{300}},
            250/{\pgfmathprintnumber{250}},
            100/{\pgfmathprintnumber{100}},
            31.1/{\pgfmathprintnumber{31.1}},
            25.5/{\pgfmathprintnumber{25.5}},
            21.2/{\pgfmathprintnumber{21.2}}
        };
\end{tikzpicture}
\end{document}

答案1

以下答案使用轮图包,是我写的。

数据的锚点由 key 决定anchor xsep

行的长度由键 决定lines。对于第四和第六个切片,此长度由键 单独定义lines{4,6}

在密钥中slices style我们使用\WClistcolors引用给定密钥的列表中的项目WClistcolors

在此处输入图片描述

\documentclass[border=6pt]{standalone}
\usepackage{wheelchart}
\begin{document}
\begin{tikzpicture}
\wheelchart[
  anchor xsep=30,
  counterclockwise,
  data=\pgfmathprintnumber{\WCvarA},
  lines=0.5,
  lines{4,6}=1.3,
  pie,
  slices style={
    \WClistcolors,
    draw=black,
    line join=bevel
  },
  WClistcolors={blue!60,cyan!60,yellow!60,orange!60,red!60,blue!60!cyan!60,cyan!60!yellow!60,red!60!cyan!60,red!60!blue!60,orange!60!cyan!60}
]{1000,300,250,100,31.1,25.5,21.2}
\end{tikzpicture}
\end{document}

相关内容