summaryrefslogtreecommitdiff
path: root/dev/pgf-pie.sty
diff options
context:
space:
mode:
authorXu Yuan <xu@informatik.hu-berlin.de>2011-10-01 20:52:46 +0200
committerXu Yuan <xu@informatik.hu-berlin.de>2011-10-01 20:52:46 +0200
commit867ed74fe91e548f9458d897699fa6ba7bb83d91 (patch)
tree00932d7b1a461184ffc8e4117f224ab419aabb5c /dev/pgf-pie.sty
parentad44525af2f92d795a8cf0805f521145878fa203 (diff)
downloadpgf-pie-867ed74fe91e548f9458d897699fa6ba7bb83d91.tar.gz
pgf-pie-867ed74fe91e548f9458d897699fa6ba7bb83d91.tar.bz2
pgf-pie-867ed74fe91e548f9458d897699fa6ba7bb83d91.zip
sum and examples
Diffstat (limited to 'dev/pgf-pie.sty')
-rw-r--r--dev/pgf-pie.sty24
1 files changed, 21 insertions, 3 deletions
diff --git a/dev/pgf-pie.sty b/dev/pgf-pie.sty
index 5021851..bcaf112 100644
--- a/dev/pgf-pie.sty
+++ b/dev/pgf-pie.sty
@@ -11,6 +11,7 @@
chart by using PGF/Tikz package.]
\RequirePackage{tikz}
+\RequirePackage{ifthen}
% args:
% #1: begin angle
@@ -32,7 +33,7 @@ chart by using PGF/Tikz package.]
\let\radius\pgfmathresult
% slice
- \draw[fill=#6, #9] (O) -- ++(#1:#7) arc (#1:#2:#7) -- cycle;
+ \draw[line join=round, fill=#6, #9] (O) -- ++(#1:#7) arc (#1:#2:#7) -- cycle;
% outer label
\path (O) -- ++ (\midangle:\radius) node[inner sep=0, \text=\midangle:#4]{};
@@ -74,6 +75,9 @@ chart by using PGF/Tikz package.]
\def\settext#1\pgfeov{\xdef\text{#1}}
\pgfkeyslet{/text/.@cmd}{\settext}
+\def\setsum#1\pgfeov{\xdef\sum{#1}}
+\pgfkeyslet{/sum/.@cmd}{\setsum}
+
\newcommand{\pie}[2][]
{
\pgfkeys{
@@ -85,9 +89,23 @@ chart by using PGF/Tikz package.]
before number=,
after number=\%,
text=label,
+ sum=100,
}
\pgfkeys{#1}
+ \ifthenelse{\equal{\sum}{auto}}
+ {
+ % sum all input
+ \xdef\sum{0}
+ \foreach \p/\t in {#2}
+ {
+ \pgfmathparse{\sum + \p}
+ \xdef\sum{\pgfmathresult}
+ }
+ }
+ {}
+
+
\setcounter{pgfpie@explodeLength}{0}
\foreach \e in \explode { \addtocounter{pgfpie@explodeLength}{1} }
@@ -121,8 +139,8 @@ chart by using PGF/Tikz package.]
\fi
}
- \pgfpie@slice{\thepgfpie@angleBegin/100*360}
- {\thepgfpie@angleEnd/100*360}
+ \pgfpie@slice{\thepgfpie@angleBegin/\sum*360}
+ {\thepgfpie@angleEnd/\sum*360}
{\beforenumber \p \afternumber}
{\t}
{\theexplode}