% \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
