diff options
author | Xu Yuan <xu@informatik.hu-berlin.de> | 2011-10-01 20:52:46 +0200 |
---|---|---|
committer | Xu Yuan <xu@informatik.hu-berlin.de> | 2011-10-01 20:52:46 +0200 |
commit | 867ed74fe91e548f9458d897699fa6ba7bb83d91 (patch) | |
tree | 00932d7b1a461184ffc8e4117f224ab419aabb5c /dev/pgf-pie.sty | |
parent | ad44525af2f92d795a8cf0805f521145878fa203 (diff) | |
download | pgf-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.sty | 24 |
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} |