summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/pgf-pie/pgf-pie.sty
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/pgf-pie/pgf-pie.sty')
-rw-r--r--graphics/pgf/contrib/pgf-pie/pgf-pie.sty85
1 files changed, 48 insertions, 37 deletions
diff --git a/graphics/pgf/contrib/pgf-pie/pgf-pie.sty b/graphics/pgf/contrib/pgf-pie/pgf-pie.sty
index 6a669e337f..0aaa3a0b54 100644
--- a/graphics/pgf/contrib/pgf-pie/pgf-pie.sty
+++ b/graphics/pgf/contrib/pgf-pie/pgf-pie.sty
@@ -7,7 +7,7 @@
%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{pgf-pie}[2011/10/02 v0.2 Some LaTeX macros for pie
+\ProvidesPackage{pgf-pie}[2020/05/27 v0.3 Some LaTeX macros for pie
chart by using PGF/Tikz package.]
\RequirePackage{tikz}
@@ -31,10 +31,10 @@ chart by using PGF/Tikz package.]
\path (#8) -- ++(\midangle:#5) coordinate(O);
\pgfmathparse{#7+#5}
- \let\radius\pgfmathresult
+ \let\pgfpie@radius\pgfmathresult
% slice
- \draw[line join=round, fill=#6, \style] (O) -- ++(#1:#7) arc (#1:#2:#7) -- cycle;
+ \draw[line join=round, fill=#6, \pgfpie@style] (O) -- ++(#1:#7) arc (#1:#2:#7) -- cycle;
\pgfmathparse{min(((#2)-(#1)-10)/110*(-0.3),0)}
\let\temp\pgfmathresult
@@ -45,19 +45,19 @@ chart by using PGF/Tikz package.]
{
% label and number together
\path (O) -- ++(\midangle:\innerpos) node
- {\scalefont{#3}\shortstack{#4\\\beforenumber#3\afternumber}};
+ {\scalefont{#3}\shortstack{#4\\\pgfpie@numbertext{#3}}};
}
{
% label
\iflegend
\else
- \path (O) -- ++ (\midangle:\radius)
+ \path (O) -- ++ (\midangle:\pgfpie@radius)
node[inner sep=0, \pgfpie@text=\midangle:#4]{};
\fi
% number
\path (O) -- ++(\midangle:\innerpos) node
- {\scalefont{#3}\beforenumber#3\afternumber};
+ {\scalefont{#3}\pgfpie@numbertext{#3}};
}
}
@@ -65,7 +65,7 @@ chart by using PGF/Tikz package.]
{
\pgfmathparse{int(mod(#1,\value{pgfpie@colorLength}))}
\let\ci\pgfmathresult
- \foreach \c [count=\j from 0] in \color {
+ \foreach \c [count=\j from 0] in \pgfpie@color {
\ifnum \j=\ci
\xdef\thecolor{\c}
\thecolor
@@ -78,7 +78,7 @@ chart by using PGF/Tikz package.]
{
\pgfmathparse{int(mod(#1,\value{pgfpie@explodeLength}))}
\let\ei\pgfmathresult
- \foreach \e [count=\j from 0] in \explode {
+ \foreach \e [count=\j from 0] in \pgfpie@explode {
\ifnum \j=\ei
\xdef\theexplode{\e}
\breakforeach
@@ -95,12 +95,12 @@ chart by using PGF/Tikz package.]
{
\ifthenelse{\equal{\pgfpie@text}{inside}}
{
- \draw[fill=#4, \style] (#1) rectangle node
- {\scalefont{#3}\shortstack{#5\\\beforenumber#3\afternumber}} ++(#2);
+ \draw[fill=#4, \pgfpie@style] (#1) rectangle node
+ {\scalefont{#3}\shortstack{#5\\\pgfpie@numbertext{#3}}} ++(#2);
}
{
- \draw[fill=#4, \style] (#1) rectangle node
- {\scalefont{#3}\beforenumber#3\afternumber} ++(#2);
+ \draw[fill=#4, \pgfpie@style] (#1) rectangle node
+ {\scalefont{#3}\pgfpie@numbertext{#3}} ++(#2);
}
}
@@ -115,10 +115,10 @@ chart by using PGF/Tikz package.]
\draw[fill=#4, #5] (#1) circle[radius=#2];
\ifthenelse{\equal{\pgfpie@text}{inside}}
{
- \node at (#1) {\scalefont{#3}\shortstack{#6\\\beforenumber#3\afternumber}};
+ \node at (#1) {\scalefont{#3}\shortstack{#6\\\pgfpie@numbertext{#3}}};
}
{
- \node at (#1) {\scalefont{#3}\beforenumber#3\afternumber};
+ \node at (#1) {\scalefont{#3}\pgfpie@numbertext{#3}};
}
}
@@ -127,25 +127,25 @@ chart by using PGF/Tikz package.]
\newcounter{pgfpie@colorLength}
\newcounter{pgfpie@sliceLength}
-\def\setexplode#1\pgfeov{\def\explode{#1}}
+\def\setexplode#1\pgfeov{\def\pgfpie@explode{#1}}
\pgfkeyslet{/explode/.@cmd}{\setexplode}
-\def\setcolor#1\pgfeov{\def\color{#1}}
+\def\setcolor#1\pgfeov{\def\pgfpie@color{#1}}
\pgfkeyslet{/color/.@cmd}{\setcolor}
-\def\setradius#1\pgfeov{\def\radius{#1}}
+\def\setradius#1\pgfeov{\def\pgfpie@radius{#1}}
\pgfkeyslet{/radius/.@cmd}{\setradius}
-\def\setpos#1\pgfeov{\def\pos{#1}}
+\def\setpos#1\pgfeov{\def\pgfpie@pos{#1}}
\pgfkeyslet{/pos/.@cmd}{\setpos}
-\def\setstyle#1\pgfeov{\def\style{#1}}
+\def\setstyle#1\pgfeov{\def\pgfpie@style{#1}}
\pgfkeyslet{/style/.@cmd}{\setstyle}
-\def\setbeforenumber#1\pgfeov{\def\beforenumber{#1}}
+\def\setbeforenumber#1\pgfeov{\def\pgfpie@beforenumber{#1}}
\pgfkeyslet{/before number/.@cmd}{\setbeforenumber}
-\def\setafternumber#1\pgfeov{\def\afternumber{#1}}
+\def\setafternumber#1\pgfeov{\def\pgfpie@afternumber{#1}}
\pgfkeyslet{/after number/.@cmd}{\setafternumber}
\def\settext#1\pgfeov{\xdef\pgfpie@text{#1}}
@@ -154,7 +154,7 @@ chart by using PGF/Tikz package.]
\def\setsum#1\pgfeov{\xdef\pgfpie@sum{#1}}
\pgfkeyslet{/sum/.@cmd}{\setsum}
-\def\setrotate#1\pgfeov{\xdef\rotate{#1}}
+\def\setrotate#1\pgfeov{\xdef\pgfpie@rotate{#1}}
\pgfkeyslet{/rotate/.@cmd}{\setrotate}
\newif\ifpolar
@@ -179,6 +179,16 @@ chart by using PGF/Tikz package.]
\fi
}
+\newif\ifhidenumber
+\pgfkeys{/hide number/.is if=hidenumber}
+\newcommand{\pgfpie@numbertext}[1]
+{
+ \ifhidenumber
+ \else
+ \pgfpie@beforenumber#1\pgfpie@afternumber
+ \fi
+}
+
\newcommand{\pie}[2][]
{
% load default parameters
@@ -199,6 +209,7 @@ chart by using PGF/Tikz package.]
square=false,
cloud=false,
scale font=false,
+ hide number=false
}
% load user's parameters
\pgfkeys{#1}
@@ -229,10 +240,10 @@ chart by using PGF/Tikz package.]
% init counters
\setcounter{pgfpie@explodeLength}{0}
- \foreach \e in \explode { \addtocounter{pgfpie@explodeLength}{1} }
+ \foreach \e in \pgfpie@explode { \addtocounter{pgfpie@explodeLength}{1} }
\setcounter{pgfpie@colorLength}{0}
- \foreach \c in \color { \addtocounter{pgfpie@colorLength}{1} }
+ \foreach \c in \pgfpie@color { \addtocounter{pgfpie@colorLength}{1} }
\pgfmathsetlength{\pgfpie@angleEnd}{0}
@@ -241,10 +252,10 @@ chart by using PGF/Tikz package.]
\ifsquare
%%%%%%%%%% SQUARE PIE BEGIN %%%%%%%%%%%
- \pgfmathparse{\radius*2}
+ \pgfmathparse{\pgfpie@radius*2}
\xdef\verticalLength{\pgfmathresult}
\xdef\horizontalLength{\pgfmathresult}
- \path (\pos) -- ++(-\radius, -\radius) coordinate (start);
+ \path (\pgfpie@pos) -- ++(-\pgfpie@radius, -\pgfpie@radius) coordinate (start);
\pgfmathparse{\verticalLength * \horizontalLength / \pgfpie@sum}
\let\squareUnit\pgfmathresult
@@ -312,18 +323,18 @@ chart by using PGF/Tikz package.]
% find explode
\pgfpie@findExplode{\i}
\def\cloudGap{\theexplode + 0.1}
- \pgfmathparse{sqrt(\p / \pgfpie@sum) * \radius}
+ \pgfmathparse{sqrt(\p / \pgfpie@sum) * \pgfpie@radius}
\let\cloudR\pgfmathresult
\ifnum \i = 0
% first cloud
- \coordinate (O) at (\pos);
+ \coordinate (O) at (\pgfpie@pos);
\xdef\cloudRone{\cloudR}
- \xdef\cloudExtendDir{180+\rotate}
+ \xdef\cloudExtendDir{180+\pgfpie@rotate}
\else
\ifnum \i = 1
% second cloud
\xdef\cloudRtwo{\cloudR}
- \xdef\cloudExtendDir{45+\rotate}
+ \xdef\cloudExtendDir{45+\pgfpie@rotate}
\path (O) -- ++(\cloudExtendDir:\cloudRone+\cloudGap+\cloudRtwo) coordinate (O);
\else
% next cloud
@@ -353,7 +364,7 @@ chart by using PGF/Tikz package.]
\pgfpie@findColor{\i}
\pgfpie@cloud{O}{\cloudR}{\p}
- {\thecolor}{\style}{\t}
+ {\thecolor}{\pgfpie@style}{\t}
% label
\iflegend
@@ -378,10 +389,10 @@ chart by using PGF/Tikz package.]
}
\pgfmathparse{\pgfpie@sum / \value{pgfpie@sliceLength}}
\xdef\polarangle{\pgfmathresult}
- \pgfmathparse{\radius / sqrt(\maxValue)}
+ \pgfmathparse{\pgfpie@radius / sqrt(\maxValue)}
\xdef\polarRadiusUnit{\pgfmathresult}
\else
- \xdef\theradius{\radius}
+ \xdef\theradius{\pgfpie@radius}
\fi
\xdef\pgfpie@angleBegin{\the\pgfpie@angleEnd}
@@ -404,14 +415,14 @@ chart by using PGF/Tikz package.]
% find color
\pgfpie@findColor{\i}
- \pgfpie@slice{\pgfpie@angleBegin/\pgfpie@sum*360+\rotate}
- {\the\pgfpie@angleEnd/\pgfpie@sum*360+\rotate}
+ \pgfpie@slice{\pgfpie@angleBegin/\pgfpie@sum*360+\pgfpie@rotate}
+ {\the\pgfpie@angleEnd/\pgfpie@sum*360+\pgfpie@rotate}
{\p}
{\t}
{\theexplode}
{\thecolor}
{\theradius}
- {\pos}
+ {\pgfpie@pos}
\xdef\pgfpie@angleBegin{\the\pgfpie@angleEnd}
}
%%%%%%%%%% CIRCLE PIE END %%%%%%%%%%%
@@ -428,7 +439,7 @@ chart by using PGF/Tikz package.]
\foreach \p/\t [count=\i from 0] in {#2}
{
\pgfpie@findColor{\i}
- \node[draw, fill=\thecolor, \style, below of=legendpos, label=0:\t] (legendpos) {};
+ \node[draw, fill=\thecolor, \pgfpie@style, below of=legendpos, label=0:\t] (legendpos) {};
}
\end{scope}
\fi