summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/pgf-pie/tikzlibrarypie.code.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-06-16 03:01:30 +0000
committerNorbert Preining <norbert@preining.info>2022-06-16 03:01:30 +0000
commitb83d15e1ff2e551eb7391d45becd87dce59d39b8 (patch)
tree756378eacbe575ca119b77f81022940f022c69d9 /graphics/pgf/contrib/pgf-pie/tikzlibrarypie.code.tex
parentda68bce1d25d68087ca3b70134a61ae1c3a96b67 (diff)
CTAN sync 202206160301
Diffstat (limited to 'graphics/pgf/contrib/pgf-pie/tikzlibrarypie.code.tex')
-rw-r--r--graphics/pgf/contrib/pgf-pie/tikzlibrarypie.code.tex26
1 files changed, 21 insertions, 5 deletions
diff --git a/graphics/pgf/contrib/pgf-pie/tikzlibrarypie.code.tex b/graphics/pgf/contrib/pgf-pie/tikzlibrarypie.code.tex
index 6612fceb13..8b2963dd7a 100644
--- a/graphics/pgf/contrib/pgf-pie/tikzlibrarypie.code.tex
+++ b/graphics/pgf/contrib/pgf-pie/tikzlibrarypie.code.tex
@@ -73,7 +73,12 @@
% slice
\draw[line join=round,fill={#6},\pgfpie@style] (pgfpie@O) -- ++({#1}:{#7}) arc ({#1}:{#2}:{#7}) -- cycle;
- \pgfmathparse{min(((#2)-(#1)-10)/110*(-0.3),0)}
+ \pgfpie@ifchangedirection{%
+ \pgfmathparse{min(((#1)-(#2)-10)/110*(-0.3),0)}
+ }{%
+ \pgfmathparse{min(((#2)-(#1)-10)/110*(-0.3),0)}
+ }%
+
\pgfmathparse{(max(\pgfmathresult,-0.5) + 0.8)*(#7)}
\let\pgfpie@innerpos\pgfmathresult
@@ -182,6 +187,9 @@
\pgfpie@newif{legend}
+\pgfpie@newif{changedirection}
+\pgfqkeys{/pgfpie}{change direction/.is if=pgfpie@changedirection}
+
\pgfpie@newif{square}
\pgfqkeys{/pgfpie}{square/.is if=pgfpie@square}
@@ -233,13 +241,14 @@
text=label,
sum=100,
rotate=0,
+ change direction=false,
polar=false,
square=false,
cloud=false,
scale font=false,
hide number=false,
hide label=false,
- every pie/.try,
+ every pie/.try,%
% load user's parameters
#1]
@@ -430,6 +439,9 @@
\xdef\pgfpie@theradius{\pgfpie@radius}%
}
+ \pgfpie@ifchangedirection{%
+ \pgfmathsetlength{\pgfpie@angleEnd}{\pgfpie@sum}
+ }{}%
\xdef\pgfpie@angleBegin{\the\pgfpie@angleEnd}
% drawing loop
\foreach \pgfpie@p/\pgfpie@t [count=\pgfpie@i from 0] in {#1}
@@ -441,9 +453,13 @@
\pgfmathparse{sqrt(\pgfpie@p) * (\pgfpie@polarRadiusUnit)}
\xdef\pgfpie@theradius{\pgfmathresult}
}{%
- % normal pie
- \pgfmathaddtolength{\pgfpie@angleEnd}{\pgfpie@p}
- }
+ % normal pie
+ \pgfpie@ifchangedirection{%
+ \pgfmathaddtolength{\pgfpie@angleEnd}{-(\pgfpie@p)}
+ }{%
+ \pgfmathaddtolength{\pgfpie@angleEnd}{\pgfpie@p}
+ }%
+ }%
% find explode
\pgfpie@findExplode{\pgfpie@i}