summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/beamer-contrib/themes/metropolis/source/pgfplotsthemetol.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/beamer-contrib/themes/metropolis/source/pgfplotsthemetol.dtx')
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/source/pgfplotsthemetol.dtx190
1 files changed, 190 insertions, 0 deletions
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/source/pgfplotsthemetol.dtx b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/pgfplotsthemetol.dtx
new file mode 100644
index 0000000000..a46dca0097
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/pgfplotsthemetol.dtx
@@ -0,0 +1,190 @@
+% \iffalse meta-comment -------------------------------------------------------
+% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of
+% contributors can be found at
+%
+% https://github.com/matze/mtheme/graphs/contributors
+%
+% and these colors were inspired by the Paul Tol 21-color Salute by Peter Carl.
+%
+% http://www.r-bloggers.com/the-paul-tol-21-color-salute/
+%
+% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
+% International License (https://creativecommons.org/licenses/by-sa/4.0/).
+% ------------------------------------------------------------------------- \fi
+% \iffalse
+%<driver> \ProvidesFile{pgfplotsthemetol.dtx}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pgfplotsthemetol}
+ [2017/01/23 PGFplots colors based on Paul Tol's SRON technical note]
+%</package>
+%<driver> \documentclass{ltxdoc}
+%<driver> \usepackage{pgfplotsthemetol}
+%<driver> \begin{document}
+%<driver> \DocInput{pgfplotsthemetol.dtx}
+%<driver> \end{document}
+% \fi
+% \CheckSum{0}
+% \StopEventually{}
+% \iffalse
+%<*package>
+% ------------------------------------------------------------------------- \fi
+%
+% \subsection{Tol \texttt{pgfplots} theme}
+%
+% Paul Tol's 12-color palette\footnote{Tol actually describes several
+% palettes; these colours are taken from the bottom row of Figure 3 in his
+% technical note.} is as follows:
+%
+% \begin{macrocode}
+\definecolor{TolDarkPurple}{HTML}{332288}
+\definecolor{TolDarkBlue}{HTML}{6699CC}
+\definecolor{TolLightBlue}{HTML}{88CCEE}
+\definecolor{TolLightGreen}{HTML}{44AA99}
+\definecolor{TolDarkGreen}{HTML}{117733}
+\definecolor{TolDarkBrown}{HTML}{999933}
+\definecolor{TolLightBrown}{HTML}{DDCC77}
+\definecolor{TolDarkRed}{HTML}{661100}
+\definecolor{TolLightRed}{HTML}{CC6677}
+\definecolor{TolLightPink}{HTML}{AA4466}
+\definecolor{TolDarkPink}{HTML}{882255}
+\definecolor{TolLightPurple}{HTML}{AA4499}
+% \end{macrocode}
+%
+% To use these colors, we describe ``cycle lists'' from which PGF chooses
+% styles for the different series in a chart.
+%
+% \begin{macro}{mbarplot cycle}
+% Colors and styles intended for bar charts with up to 12 series.
+%
+% \begin{macrocode}
+\pgfplotscreateplotcyclelist{mbarplot cycle}{%
+ {draw=TolDarkBlue, fill=TolDarkBlue!70},
+ {draw=TolLightBrown, fill=TolLightBrown!70},
+ {draw=TolLightGreen, fill=TolLightGreen!70},
+ {draw=TolDarkPink, fill=TolDarkPink!70},
+ {draw=TolDarkPurple, fill=TolDarkPurple!70},
+ {draw=TolDarkRed, fill=TolDarkRed!70},
+ {draw=TolDarkBrown, fill=TolDarkBrown!70},
+ {draw=TolLightRed, fill=TolLightRed!70},
+ {draw=TolLightPink, fill=TolLightPink!70},
+ {draw=TolLightPurple, fill=TolLightPurple!70},
+ {draw=TolLightBlue, fill=TolLightBlue!70},
+ {draw=TolDarkGreen, fill=TolDarkGreen!70},
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mlineplot cycle}
+% Colors and styles intended for line charts with up to 4 series.
+% \begin{macrocode}
+\pgfplotscreateplotcyclelist{mlineplot cycle}{%
+ {TolDarkBlue, mark=*, mark size=1.5pt},
+ {TolLightBrown, mark=square*, mark size=1.3pt},
+ {TolLightGreen, mark=triangle*, mark size=1.5pt},
+ {TolDarkBrown, mark=diamond*, mark size=1.5pt},
+}
+% \end{macrocode}
+% \end{macro}
+%
+% However, the above cycle lists are not applied automatically. We still need
+% to define styles --- |mlineplot| and |mbarplot| --- that the user can apply
+% to the axis of a |pgfplots| chart to use the colors. We'll also take the
+% opportunity to adjust the display of chart axes when these styles are used.
+%
+% \begin{macrocode}
+\pgfplotsset{
+ compat=1.9,
+% \end{macrocode}
+%
+% \begin{macro}{mlineplot}
+% A style to apply to the axis of a PGF line plot.
+% \begin{macrocode}
+ mlineplot/.style={
+ mbaseplot,
+ xmajorgrids=true,
+ ymajorgrids=true,
+ major grid style={dotted},
+ axis x line=bottom,
+ axis y line=left,
+ legend style={
+ cells={anchor=west},
+ draw=none
+ },
+ cycle list name=mlineplot cycle,
+ },
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{mbarplot}
+% \begin{macro}{horizontal mbarplot}
+% A style to apply to the axis of a PGF bar chart. |mbarplot| uses vertical
+% bars by default, while |horizontal mbarplot| has horizontal bars as the
+% name implies. Their shared properties are factored out into the internal
+% style |mbarplot base|.
+%
+% \begin{macrocode}
+ mbarplot base/.style={
+ mbaseplot,
+ bar width=6pt,
+ axis y line*=none,
+ },
+ mbarplot/.style={
+ mbarplot base,
+ ybar,
+ xmajorgrids=false,
+ ymajorgrids=true,
+ area legend,
+ legend image code/.code={%
+ \draw[#1] (0cm,-0.1cm) rectangle (0.15cm,0.1cm);
+ },
+ cycle list name=mbarplot cycle,
+ },
+ horizontal mbarplot/.style={
+ mbarplot base,
+ xmajorgrids=true,
+ ymajorgrids=false,
+ xbar stacked,
+ area legend,
+ legend image code/.code={%
+ \draw[#1] (0cm,-0.1cm) rectangle (0.15cm,0.1cm);
+ },
+ cycle list name=mbarplot cycle,
+ },
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{mbaseplot}
+% Adjusts the appearance of the axes in a PGF chart.
+% \begin{macrocode}
+ mbaseplot/.style={
+ legend style={
+ draw=none,
+ fill=none,
+ cells={anchor=west},
+ },
+ x tick label style={
+ font=\footnotesize
+ },
+ y tick label style={
+ font=\footnotesize
+ },
+ legend style={
+ font=\footnotesize
+ },
+ major grid style={
+ dotted,
+ },
+ axis x line*=bottom,
+ },
+ disable thousands separator/.style={
+ /pgf/number format/.cd,
+ 1000 sep={}
+ },
+}
+% \end{macrocode}
+% \end{macro}
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput