答案1
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}[thick]
\draw[fill=cyan]
(0,0)--(90:2) arc(90:-150:2)--cycle
(-30:2.2) node[right]{Amount Lazzie ate};
\draw[fill=blue!50,shift={(150:1mm)}]
(0,0)--(90:2) arc(90:210:2)--cycle
(150:2.2) node[left]{Lazzie's Leftovers};
\end{tikzpicture}
\end{document}
答案2
更新:pgf-pie
已更改一些内部内容。以下 MWE 适用于 Github 上的当前版本(https://github.com/pgf-tikz/pgf-pie,日期为2020年12月26日)。
\documentclass{article}
\usepackage{pgf-pie}
\usepackage{etoolbox}
\newtoggle{showpct}
\makeatletter
\patchcmd{\pgfpie@slice}%
{\pgfpie@scalefont{#3}\pgfpie@numbertext{#3}}%
{\iftoggle{showpct}{\pgfpie@scalefont{#3}\pgfpie@numbertext{#3}}{}}%
{}{}
\makeatother
\begin{document}
\togglefalse{showpct}
\begin{tikzpicture}
\pie[rotate=90, explode=0.05, radius=1.5]{33.33/Lizzie's Leftovers, 66.66/Amount Lizzie ate};
\end{tikzpicture}
\toggletrue{showpct}
\begin{tikzpicture}
\pie[rotate=90, explode=0.05, radius=1.5]{33.33/Lizzie's Leftovers, 66.66/Amount Lizzie ate};
\end{tikzpicture}
\end{document}
原始答案:您可以修改的代码pgf-pie
以关闭百分比打印。可以使用etoolbox
包进行修改,该包提供了一个命令\patchcmd
。此命令有五个参数:要修改的命令、此命令中将受影响的代码片段、将插入的替换命令(代替第二个参数中指示的代码片段)以及两个参数(分别指定修改成功或失败时应执行的操作)。最后两个命令对于调试很有用,但一旦代码运行,它们通常会留空。
负责绘制百分比的代码位于 的第 59 行和 60 行pgf-pie.sty
。您可以修改第二行以关闭打印。在下面的 MWE 中showpct
使用了一个切换按钮(称为),这是由 提供的布尔值,etoolbox
可用于根据切换按钮是真还是假来执行不同的代码。在这里,如果showpct
切换按钮为真,则将执行原始代码,否则将不执行任何代码(因此不会打印百分比)。
由于\pgfpie@slice
修改的命令包含@
符号,因此修补需要用 和 括\makeatletter
起来\makeatother
。
代码:
\documentclass{article}
\usepackage{pgf-pie}
\usepackage{etoolbox}
\newtoggle{showpct}
\makeatletter
\patchcmd{\pgfpie@slice}%
{\scalefont{#3}\beforenumber#3\afternumber}%
{\iftoggle{showpct}{\scalefont{#3}\beforenumber#3\afternumber}{}}%
{}{}
\makeatother
\begin{document}
\togglefalse{showpct}
\begin{tikzpicture}
\pie[rotate=90, explode=0.05, radius=1.5]{33.33/Lizzie's Leftovers, 66.66/Amount Lizzie ate};
\end{tikzpicture}
\toggletrue{showpct}
\begin{tikzpicture}
\pie[rotate=90, explode=0.05, radius=1.5]{33.33/Lizzie's Leftovers, 66.66/Amount Lizzie ate};
\end{tikzpicture}
\end{document}
结果: