From 5f0de34b5de3bee2435ec6c1b4716711ff1f8ba0 Mon Sep 17 00:00:00 2001 From: Xu Yuan Date: Sun, 2 Oct 2011 15:54:01 +0200 Subject: label text inside pie --- dev/demo/text-inside.tex | 3 +++ dev/pgf-pie-manual.tex | 4 +++- dev/pgf-pie.sty | 26 +++++++++++++++++--------- 3 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 dev/demo/text-inside.tex diff --git a/dev/demo/text-inside.tex b/dev/demo/text-inside.tex new file mode 100644 index 0000000..07cf42e --- /dev/null +++ b/dev/demo/text-inside.tex @@ -0,0 +1,3 @@ +\begin{tikzpicture} + \pie[text=inside]{10/A, 20/B, 30/C, 40/D} +\end{tikzpicture} \ No newline at end of file diff --git a/dev/pgf-pie-manual.tex b/dev/pgf-pie-manual.tex index 6ca492a..77a87f1 100644 --- a/dev/pgf-pie-manual.tex +++ b/dev/pgf-pie-manual.tex @@ -121,10 +121,12 @@ is 3. \subsubsection{Label text} The value of \texttt{text} can be \texttt{label}(default), -\texttt{pin} or \texttt{legend}. +\texttt{pin}, \texttt{inside} or \texttt{legend}. \demo[0.6]{text} +\demo[0.5]{text-inside} + \demo[0.6]{legend} \subsection{Sum} diff --git a/dev/pgf-pie.sty b/dev/pgf-pie.sty index fe11dd2..1651e6f 100644 --- a/dev/pgf-pie.sty +++ b/dev/pgf-pie.sty @@ -35,19 +35,27 @@ chart by using PGF/Tikz package.] % slice \draw[line join=round, fill=#6, #9] (O) -- ++(#1:#7) arc (#1:#2:#7) -- cycle; - % label - \iflegend - \else - \path (O) -- ++ (\midangle:\radius) - node[inner sep=0, \text=\midangle:#4]{}; - \fi - - % number \pgfmathparse{min(((#2)-(#1)-10)/110*(-0.3),0)} \let\temp\pgfmathresult \pgfmathparse{(max(\temp,-0.5) + 0.8)*#7} \let\innerpos\pgfmathresult - \path (O) -- ++(\midangle:\innerpos) node {#3}; + + \ifthenelse{\equal{\text}{inside}} + { + % label and number together + \path (O) -- ++(\midangle:\innerpos) node {\shortstack{#4 \\ #3}}; + } + { + % label + \iflegend + \else + \path (O) -- ++ (\midangle:\radius) + node[inner sep=0, \text=\midangle:#4]{}; + \fi + + % number + \path (O) -- ++(\midangle:\innerpos) node {#3}; + } } \newcommand{\pgfpie@findColor}[1] -- cgit v1.2.3