将小数字放在 pgf 饼图之外

将小数字放在 pgf 饼图之外

我有一个 pgf 饼图,有些值太小,数字无法正确显示。因此,我想将它们放在图表之外,就像我在互联网上找到的第二张图片一样。

我的图表的 MWE

\documentclass[tikz, 12pt, a4paper]{report}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{subcaption}
\usepackage[usenames, dvipsnames, rgb]{xcolor}
\usepackage{tikz}
\usepackage{pgf-pie}
\usetikzlibrary{arrows, positioning, shadows}
\begin{document}
\begin{figure}[!htbp]
\centering
\begin{tikzpicture}
\pie[sum=auto,text=legend]{10/A, 1/B, 29/C, 43/D, 16/E}
\end{tikzpicture}
\caption{Pie}
\end{figure}
\end{document}

这就是我的图表

我的派

这是我想象中的外面的数字看起来的样子,但显然,我想保留图例和所有其他格式。

另一张图表

怎样才能做到这一点?

答案1

pgf-pie一边学习一边做,并根据我的回答进行改编,将百分比放在饼图之外。但在这种情况下,我必须学会使用sum=限定符来指定总数不是 100 的图表。这在这里尤其重要,因为我使用的方法是叠加 3 个饼图:第一个图表绘制所有 5 个切片,使用一种标签排列,第二个图表叠加 2 个切片,使用不同的标签排列,最后一个图表绘制单个切片,使用另一种标签排列。

\documentclass[tikz, 12pt, a4paper]{report}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{subcaption}
\usepackage[usenames, dvipsnames, rgb]{xcolor}
\usepackage{tikz}
\usepackage{pgf-pie}
\usetikzlibrary{arrows, positioning, shadows}
\begin{document}
\begin{figure}[!htbp]
\centering
\begin{tikzpicture}
\pie[sum=auto,text=legend]{10/A, 1/B, 29/C, 43/D, 16/E}
% COMMENT EDIT: 10+1+29+43+16 = 99 !!!
\pie[sum=99, hide number]{10/, 1/1}
\pie[sum=99]{10/}
\end{tikzpicture}
\caption{Pie}
\end{figure}
\end{document}

在此处输入图片描述

相关内容