mirror of https://github.com/matze/mtheme.git
191 lines
5.5 KiB
TeX
191 lines
5.5 KiB
TeX
% \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
|