diff options
Diffstat (limited to 'graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex')
-rw-r--r-- | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex new file mode 100644 index 0000000000..fa13cb0000 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-shapes-heatmark.tex @@ -0,0 +1,83 @@ +% !TeX spellcheck = en_US +% !TeX root = tikz-ext-manual.tex +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% +\section{Shape: Heatmark} +\begin{pgflibrary}{ext.shapes.heatmark} + A circular shape that has customizable rings around it. + \inspiration{ShapeHeat-Q}{ShapeHeat-A} +\end{pgflibrary} + +\begin{shape}{heatmark} + \begin{key}{/pgf/heatmark arcs=\meta{arcs num} (initially 3)} + Sets the number of arc around the circle to \meta{arcs num}. + \end{key} + \begin{key}{/pgf/heatmark arc width=\meta{arc width} (initially 4pt)} + Sets the width of the rings around the circle to \meta{arc width}. + \end{key} + \begin{key}{/pgf/heatmark arc sep=\meta{sep length} (initially 1pt)} + Sets the whitespace between the rings to \meta{sep length}. + \end{key} + \begin{key}{/pgf/heatmark arc rings=\meta{rings num} (initially 3)} + Sets the number of rings around the circle to \meta{rings num} + \end{key} + \begin{key}{/pgf/heatmark arc sep angle=\meta{sep angle} (initially 20)} + Sets the whitespace angle between the arcs in one ring to \meta{sep angle}. + \end{key} + \begin{key}{/pgf/heatmark inner opacity=\meta{inner opacity} (initially 0.8)} + Sets the opacity of the inner ring to \meta{inner opacity}. + \end{key} + \begin{key}{/pgf/heatmark outer opacity=\meta{low opacity} (initially 0.2)} + Sets the opacity of the outer ring to \meta{outer opacity}. + + The opacity of the rings between the outer and the inner ring will be interpolated by these two opacities. + \end{key} + +This shape takes the value of |/pgf/shape border rotate|% +\indexKeyO[/pgf/]{shape border rotate} into consideration. + +For every ring and for every arc the following styke keys are tried. +\begin{stylekey}{/pgf/heatmark ring \meta{ring number}} +\end{stylekey} +\begin{stylekey}{/pgf/heatmark arc \meta{arc number}} +\end{stylekey} +\begin{stylekey}{/pgf/heatmark ring \meta{ring number} arc \meta{arc number}} +\end{stylekey} + +The \pgfname shape is setup in a way that even \tikzname\space +styles can be used with a little bit work: +\begin{codeexample}[preamble=\usetikzlibrary{ext.shapes.heatmark}] +\tikz[ + shape border rotate=90, + /pgf/heatmark ring 1/.append style={/tikz/fill=green}, + /pgf/heatmark arc 1/.append style={/tikz/fill=blue}, + /pgf/heatmark ring 2 arc 2/.append style={/tikz/fill=yellow!70!black} +] \node[heatmark, fill=red] (n) {100}; +\end{codeexample} + +It is best to use this shape with no actual border (|draw = none|) and the |outer sep| set to zero. +\begin{codeexample}[preamble=\usetikzlibrary{ext.shapes.heatmark},width=16cm] +\begin{tikzpicture}\Huge +\node[name=s, shape=heatmark, shape example, + fill=blue!25, draw=none, outer sep=0pt] + {Heatmark\vrule width 1pt height 2cm}; +\foreach \anchor/\placement in + {north west/above left, north/above, + north east/above right, + west/left, center/above, east/right, + mid west/right, mid/above, mid east/left, + base west/left, base/below, base east/right, + south west/below left, south/below, + south east/below right, + text/left, 10/right, 130/above} + \draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)} + node[\placement] {\scriptsize\texttt{(s.\anchor)}}; +\end{tikzpicture} +\end{codeexample} +\end{shape} +\endinput
\ No newline at end of file |