%-------------------------------------------- % % Package pgfplots % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). % % It is based on Till Tantau's PGF package. % % Copyright 2007/2008/2009 by Christian Feuersänger. % % This program is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License % along with this program. If not, see . % %-------------------------------------------- \edef\pgfplots@oldcatcodesemicolon{\the\catcode`\;}% \catcode`\;=12 \input pgfplotscore.code.tex \input pgfplotslibrary.code.tex \input pgfplotsoldpgfsupp_loader.code.tex \input pgfplotsutil.code.tex \input pgfplotscolormap.code.tex \input pgfplotsstackedplots.code.tex \input pgfplotscoordprocessing.code.tex \input pgfplotsticks.code.tex \usetikzlibrary{decorations,decorations.pathmorphing,decorations.pathreplacing} % FIXME: reduce number of variables! \newif\ifpgfplots@bb@isactive \newif\ifpgfplots@xislinear \newif\ifpgfplots@has@label@information \newif\ifpgfplots@yislinear \newif\ifpgfplots@zislinear \newif\ifpgfplots@axis@equal \newif\ifpgfplots@axis@equal@image \newif\ifpgfplots@reverse@legend \newif\ifpgfplots@allow@reversal@of@rel@axis@cs \newif\ifpgfplots@scanline@verbose \newcount\pgfplots@numplots \newdimen\pgfplots@xmin@reg \newdimen\pgfplots@xmax@reg \newdimen\pgfplots@ymin@reg \newdimen\pgfplots@ymax@reg \newdimen\pgfplots@zmin@reg \newdimen\pgfplots@zmax@reg \newif\ifpgfplots@warn@for@filter@discards \newif\ifpgfplots@isuniformtick \newif\ifpgfplots@clip@limits \newif\ifpgfplots@clip \newif\ifpgfplots@plot@coords@mathparser \pgfplots@plot@coords@mathparsertrue \pgfplots@cliptrue \newif\ifpgfplots@enlargelimits \newif\ifpgfplots@enlargelimits@rel@thresh \newif\ifpgfplots@enlargelimits@auto \newif\ifpgfplots@tickshow \newif\ifpgfplots@scatterplotenabled \newif\ifpgfplots@xminorticks \newif\ifpgfplots@xmajorticks \newif\ifpgfplots@yminorticks \newif\ifpgfplots@ymajorticks \newif\ifpgfplots@zminorticks \newif\ifpgfplots@zmajorticks \newif\ifpgfplots@xminorgrids \newif\ifpgfplots@xmajorgrids \newif\ifpgfplots@yminorgrids \newif\ifpgfplots@ymajorgrids \newif\ifpgfplots@zminorgrids \newif\ifpgfplots@zmajorgrids \newif\ifpgfplots@clip@marker@paths \newif\ifpgfplots@axis@on@top \newif\ifpgfplots@separate@axis@lines \newif\ifpgfplots@identify@log@minor@tick@pos \newif\ifpgfplots@disablelogfilter@x \newif\ifpgfplots@disablelogfilter@y \newif\ifpgfplots@disablelogfilter@z \newif\ifpgfplots@disabledatascaling \newif\ifpgfplots@hide@x \newif\ifpgfplots@hide@y \newif\ifpgfplots@hide@z \newif\ifpgfplots@shownothingof@x \newif\ifpgfplots@shownothingof@y \newif\ifpgfplots@shownothingof@z \newif\ifpgfplots@is@old@list@format \newif\ifpgfplots@errorbars@enabled \newif\ifpgfplots@scale@only@axis \newif\ifpgfplots@xticklabel@interval \newif\ifpgfplots@yticklabel@interval \newif\ifpgfplots@zticklabel@interval \newif\ifpgfplots@stackedmode \newif\ifpgfplots@stacked@reverse \newif\ifpgfplots@stacked@plus \newif\ifpgfplots@plot@file@skipfirst \newif\ifpgfplots@threedim \newif\ifpgfplotsthreedim \newif\ifpgfplots@curplot@isirrelevant \newif\ifpgfplots@colorbar \newif\ifpgfplots@deprecated@anchors \newif\ifpgfplots@translategnuplot \pgfplots@translategnuplottrue \let\pgfnodepartimagebox=\pgfnodeparttextbox \newif\ifpgfplots@collect@firstplot@astick \newif\ifpgfplots@units@use \def\pgfplots@errorbars@xdirection{0}% pre-init, see below \def\pgfplots@errorbars@ydirection{0}% \def\pgfplots@errorbars@zdirection{0}% \def\axisdefaultwidth{240pt} \def\axisdefaultheight{207pt} % Invokes '#2' if a cycle list named '#1' exists and '#3' if not. \long\def\pgfplotsifcyclelistexists#1#2#3{% \pgfutil@ifundefined{pgfp@cyclist@\string#1@}{#3}{#2}% }% % Creates a named plot cycle list. % % #1: the name of the final list. Can be used in 'cycle list name' % #2: the list entries. You can use either a comma-separated list or % a '\\'-terminated list. The latter case also requires '\\' % AFTER the last entry. \def\pgfplotscreateplotcyclelist#1#2{\expandafter\pgfplots@assign@list\csname pgfp@cyclist@\string#1@\endcsname{#2}} \pgfplotscreateplotcyclelist{black white}{% every mark/.append style={fill=gray},mark=*\\% every mark/.append style={fill=gray},mark=square*\\% every mark/.append style={fill=gray},mark=otimes*\\% mark=star\\% every mark/.append style={fill=gray},mark=diamond*\\% densely dashed,every mark/.append style={solid,fill=gray},mark=*\\% densely dashed,every mark/.append style={solid,fill=gray},mark=square*\\% densely dashed,every mark/.append style={solid,fill=gray},mark=otimes*\\% densely dashed,every mark/.append style={solid},mark=star\\% densely dashed,every mark/.append style={solid,fill=gray},mark=diamond*\\% } \pgfplotscreateplotcyclelist{color}{% blue,every mark/.append style={fill=blue!80!black},mark=*\\% red,every mark/.append style={fill=red!80!black},mark=square*\\% brown!60!black,every mark/.append style={fill=brown!80!black},mark=otimes*\\% black,mark=star\\% blue,every mark/.append style={fill=blue!80!black},mark=diamond*\\% red,densely dashed,every mark/.append style={solid,fill=red!80!black},mark=*\\% brown!60!black,densely dashed,every mark/.append style={solid,fill=brown!80!black},mark=square*\\% black,densely dashed,every mark/.append style={solid,fill=gray},mark=otimes*\\% blue,densely dashed,mark=star,every mark/.append style=solid\\% red,densely dashed,every mark/.append style={solid,fill=red!80!black},mark=diamond*\\% } \pgfplotscreateplotcyclelist{linestyles}{solid,dashed,dotted} \pgfplotscreateplotcyclelist{color list}{red,blue,black,yellow,brown,teal,orange,violet,cyan,green!70!black,magenta,gray} \pgfplotscreateplotcyclelist{mark list}{% every mark/.append style={fill=.!80!black},mark=*\\% every mark/.append style={fill=.!80!black},mark=square*\\% every mark/.append style={fill=.!80!black},mark=triangle*\\% mark=star\\% every mark/.append style={fill=.!80!black},mark=diamond*\\% every mark/.append style={fill=.!80!black},mark=otimes*\\% mark=|\\% every mark/.append style={fill=.!80!black},mark=pentagon*\\% mark=text,text mark=p\\% mark=text,text mark=a\\% } \pgfplotscreateplotcyclelist{exotic}{% teal,every mark/.append style={fill=teal!80!black},mark=*\\% orange,every mark/.append style={fill=orange!80!black},mark=square*\\% cyan!60!black,every mark/.append style={fill=cyan!80!black},mark=otimes*\\% red!70!white,mark=star\\% lime!80!black,every mark/.append style={fill=lime},mark=diamond*\\% red,densely dashed,every mark/.append style={solid,fill=red!80!black},mark=*\\% yellow!60!black,densely dashed,every mark/.append style={solid,fill=yellow!80!black},mark=square*\\% black,every mark/.append style={solid,fill=gray},mark=otimes*\\% blue,densely dashed,mark=star,every mark/.append style=solid\\% red,densely dashed,every mark/.append style={solid,fill=red!80!black},mark=diamond*\\% } % backwards compatibility: \let\pgfcreateplotcyclelist=\pgfplotscreateplotcyclelist \pgfplots@letcsname{pgfp@cyclist@\string\blackwhiteplotspeclist @}={pgfp@cyclist@black white@}% \pgfplots@letcsname{pgfp@cyclist@\string\coloredplotspeclist @}={pgfp@cyclist@color@}% %%%% \def\pgfplotsset#{\pgfqkeys{/pgfplots}} \def\pgfplotsdeprecatedstylecheck#1{% \pgfkeysifdefined{#1/.@cmd}{% \begingroup \edef\pgfkeyscurrentkey{#1}% \pgfkeyssplitpath \pgfplots@warning{Loading deprecated style option \pgfkeyscurrentpath/\pgfkeyscurrentname. Please replace '\string\tikzstyle{\pgfkeyscurrentname}' with '\string\pgfplotsset{\pgfkeyscurrentname/.style={}}' (or '\string\pgfplotsset{\pgfkeyscurrentname/.append style={}}').}% \endgroup \pgfkeysvalueof{#1/.@cmd}\pgfeov }{}% }% \def\pgfplots@scaled@ticks@setargs#1#2{% \pgfutil@in@{:}{#2}% \ifpgfutil@in@ \pgfplots@scaled@ticks@setargs@{#1}#2\pgfplots@EOI \else \expandafter\pgfutil@in@\expandafter{\pgfplots@activecolon}{#2}% \ifpgfutil@in@ \pgfplots@scaled@ticks@setargs@active{#1}#2\pgfplots@EOI \else \pgfkeysalso{/pgfplots/scaled #1 ticks/#2}% \fi \fi }% \def\pgfplots@scaled@ticks@setargs@#1#2:#3\pgfplots@EOI{% \pgfkeysalso{/pgfplots/scaled #1 ticks/#2=#3}% } { \catcode`\:=\active \gdef\pgfplots@scaled@ticks@setargs@active#1#2:#3\pgfplots@EOI{% \pgfkeysalso{/pgfplots/scaled #1 ticks/#2=#3}% } } % Sets the keys for /pgfplots/[xyz]ticklabel anchor. % #1: one of [xyz] % #2: the value \def\pgfplots@setticklabel@anchor@for#1#2{% \def\pgfplots@loc@TMPa{#2}% \def\pgfplots@loc@TMPb{auto}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \expandafter\def\csname pgfplots@ticklabel@anchor@#1\endcsname{0}% \else \def\pgfplots@loc@TMPb{near ticklabel}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \expandafter\def\csname pgfplots@ticklabel@anchor@#1\endcsname{1}% \else \def\pgfplots@loc@TMPb{tikz}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \expandafter\def\csname pgfplots@ticklabel@anchor@#1\endcsname{2}% \else \pgfplots@error{Sorry, I got an unexpected value for '#1ticklabel anchor': '#2'. Expected one of 'auto', 'near ticklabel' or 'tikz'.}% \fi \fi \fi }% % Does the work for '[xyz]ticklabel pos'. % % #1: the axis (x,y or z). % #2: the key argument. Accepts % 'lower', % 'upper', % 'default' -> depends on 'tick pos' % 'left' = 'lower', % 'bottom' = 'lower', % 'right' = 'upper' % 'top' = 'upper'. % \def\pgfplots@setkey@ticklabelpos#1#2{% \def\pgfplots@loc@TMPa{#2}% \def\pgfplots@loc@TMPb{lower}% \expandafter\def\csname pgfplots@#1ticklabel@pos\endcsname{l}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \else \def\pgfplots@loc@TMPb{upper}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \expandafter\def\csname pgfplots@#1ticklabel@pos\endcsname{u}% \else \def\pgfplots@loc@TMPb{default}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \expandafter\def\csname pgfplots@#1ticklabel@pos\endcsname{}% \else \def\pgfplots@loc@TMPb{left}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \else \def\pgfplots@loc@TMPb{right}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \expandafter\def\csname pgfplots@#1ticklabel@pos\endcsname{u}% \else \expandafter\def\csname pgfplots@#1ticklabel@pos\endcsname{}% \pgfplots@error{Sorry, the key '#1ticklabel pos' does not know what to do with '#2'... accepted values are 'default, 'lower', 'upper' and some aliases. Maybe you misspelled it?}% \fi \fi \fi \fi \fi }% % Sets 'x dir={normal,reverse}' % #1: an axis % #2: the key's value to apply \def\pgfplots@setkey@axisdir@for#1#2{% \def\pgfplots@loc@TMPa{#2}% \def\pgfplots@loc@TMPb{normal}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \pgfkeyssetvalue{/pgfplots/#1 dir/value}{n}% \else \def\pgfplots@loc@TMPb{reverse}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \pgfkeyssetvalue{/pgfplots/#1 dir/value}{r}% \else \pgfkeyssetvalue{/pgfplots/#1 dir/value}{n}% \pgfplots@error{Sorry, the key '#1 dir' does not know what to do with '#2'... accepted values are 'normal' or 'reverse'.}% \fi \fi }% \def\pgfplots@meshmode{n}% none \def\pgfplotsplothandlermesh@flatmode{m}% mean \def\pgfplots@cycle@multi@list@EOI{\pgfplots@cycle@multi@list@EOI}% \def\pgfplots@cycle@multi@list#1{% \def\pgfplots@loc@TMPb{0}% \gdef\pgfplots@cycle@multi@list@finalize@{}% \pgfplots@cycle@multi@list@#1\nextlist\pgfplots@cycle@multi@list@EOI }% \def\pgfplots@cycle@multi@list@#1\nextlist{% \def\pgfplots@loc@TMPa{#1}% \ifx\pgfplots@loc@TMPa\pgfutil@empty % ignore it if someone provided too many \nextlist commands. \else % parse and store list: \begingroup \def\pgfplots@as@string{#1}% this deals with control sequences inside of #1. \pgfplots@command@to@string\pgfplots@as@string\pgfplots@as@string \expandafter\pgfplots@cycle@multi@list@findnamed\pgfplots@as@string\pgfplots@EOI \global\let\pgfplots@glob@TMPa=\pgfplots@loc@TMPa \endgroup \ifx\pgfplots@glob@TMPa\pgfutil@empty % create it: \pgfplotscreateplotcyclelist{/pgfplots/cycle multi list/@list\pgfplots@loc@TMPb}{#1}% \else % ok, take an existing one \expandafter\let\csname pgfp@cyclist@/pgfplots/cycle multi list/@list\pgfplots@loc@TMPb @\endcsname=\pgfplots@glob@TMPa \fi \begingroup \expandafter\pgfplotslistsize\csname pgfp@cyclist@/pgfplots/cycle multi list/@list\pgfplots@loc@TMPb @\endcsname\to\c@pgf@counta \edef\pgfmathresult{\the\c@pgf@counta}% \pgfmath@smuggleone\pgfmathresult \endgroup \pgfkeyslet{/pgfplots/cycle multi list/@totalN\pgfplots@loc@TMPb}\pgfmathresult \pgfkeyslet{/pgfplots/cycle multi list/@N\pgfplots@loc@TMPb}\pgfmathresult %\def\temp{#1}\message{cycle multi list/@list={\meaning\temp}; /@N\pgfplots@loc@TMPb = \pgfkeysvalueof{/pgfplots/cycle multi list/@N\pgfplots@loc@TMPb}.}% \pgfplotsutil@advancestringcounter\pgfplots@loc@TMPb \fi % \pgfutil@ifnextchar{\pgfplots@cycle@multi@list@EOI}{% \pgfplots@cycle@multi@list@finalize }{% \pgfplots@cycle@multi@list@ }% }% % checks for % - % - [ of] % POSTCONDITION: % 1. pgfplots@loc@TMPa will be \pgfutil@empty if there is no such % list. % 2. \pgfplots@loc@TMPa will be \let to the list if there is one. % 3. \pgfplots@cycle@multi@list@finalize@ will contain any 'partial sublist' % commands. \def\pgfplots@cycle@multi@list@findnamed{\pgfutil@ifnextchar[{\pgfplots@cycle@multi@list@findnamed@}{\pgfplots@cycle@multi@list@findnamed@[]}}% \def\pgfplots@cycle@multi@list@findnamed@[#1]#2\pgfplots@EOI{% \def\pgfplots@loc@TMPa{#1}% \ifx\pgfplots@loc@TMPa\pgfutil@empty \else \pgfplots@cycle@multi@list@findnamed@@#1 \pgfplots@EOI \fi \pgfplotsifcyclelistexists{#2}{% \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfp@cyclist@\string#2@\endcsname% }{% \let\pgfplots@loc@TMPa=\pgfutil@empty }% } \def\pgfplots@cycle@multi@list@findnamed@@#1 {\pgfutil@ifnextchar o{\pgfplots@cycle@multi@list@findnamed@@@{#1}}{\pgfplots@cycle@multi@list@findnamed@@@{#1}of}}% \def\pgfplots@cycle@multi@list@findnamed@@@#1of#2\pgfplots@EOI{% \begingroup \t@pgfplots@toka=\expandafter{\pgfplots@cycle@multi@list@finalize@}% \t@pgfplots@tokb={#1}% \xdef\pgfplots@cycle@multi@list@finalize@{\the\t@pgfplots@toka \noexpand\pgfkeys{/pgfplots/cycle multi list/partial sublist={\pgfplots@loc@TMPb}{\the\t@pgfplots@tokb}}% }% \endgroup } \def\pgfplots@cycle@multi@list@finalize\pgfplots@cycle@multi@list@EOI{% \pgfkeyslet{/pgfplots/cycle multi list/@dim}\pgfplots@loc@TMPb \pgfplots@cycle@multi@list@finalize@ }% \pgfkeys{% /pgfplots/search path for tikz/.search also={/tikz,/pgfplots}, /pgfplots/.is family, /pgfplots/scale/.is family, /pgfplots/legend/.is family, /pgfplots/tick/.is family, /pgfplots/axis/.is family, /pgfplots/descriptions/.is family, /pgfplots/style commands/.is family, /pgfplots/naming commands/.is family, /pgfplots/shared with tikz/.is family, /pgfplots/error bars/.is family, /pgfplots/every axis/.style={}, /pgfplots/every axis/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis}}, /pgfplots/every axis/.belongs to family=/pgfplots/style commands, /pgfplots/every semilogx axis/.style={}, /pgfplots/every semilogx axis/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every semilogx axis}}, /pgfplots/every semilogx axis/.belongs to family=/pgfplots/style commands, /pgfplots/every semilogy axis/.style={}, /pgfplots/every semilogy axis/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every semilogy axis}}, /pgfplots/every semilogy axis/.belongs to family=/pgfplots/style commands, /pgfplots/every loglog axis/.style={}, /pgfplots/every loglog axis/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every loglog axis}}, /pgfplots/every loglog axis/.belongs to family=/pgfplots/style commands, /pgfplots/every linear axis/.style={}, /pgfplots/every linear axis/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every linear axis}}, /pgfplots/every linear axis/.belongs to family=/pgfplots/style commands, /pgfplots/every axis plot/.style={}, /pgfplots/every axis plot/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis plot}}, /pgfplots/every axis plot/.belongs to family=/pgfplots/style commands, /pgfplots/every axis plot post/.style={}, /pgfplots/every axis plot post/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis plot}}, /pgfplots/no marks/.style={/pgfplots/no markers}, /pgfplots/no markers/.style={/pgfplots/every axis plot post/.append style={mark=none}}, /pgfplots/every axis label/.style={}, /pgfplots/every axis label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis label}}, /pgfplots/every axis label/.belongs to family=/pgfplots/descriptions, /pgfplots/xlabel near ticks/.style={% /pgfplots/every axis x label/.style={at={(ticklabel cs:0.5)},anchor=near ticklabel},% /pgfplots/every x tick scale label/.style={at={(xticklabel cs:0.9,5pt)},anchor=near xticklabel,inner sep=0pt}, },% /pgfplots/xlabel absolute/.style={% /pgfplots/every axis x label/.style={at={(0.5,0)},below,yshift=-15pt},% /pgfplots/every x tick scale label/.style={at={(1,0)},yshift=-2em,left,inner sep=0pt}, },% /pgfplots/every axis x label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis x label}}, /pgfplots/every axis x label/.belongs to family=/pgfplots/descriptions, % /pgfplots/ylabel near ticks/.style={% /pgfplots/every axis y label/.style={at={(ticklabel cs:0.5)},rotate=90,anchor=near ticklabel},% /pgfplots/every y tick scale label/.style={at={(yticklabel cs:1.03,-\pgfplotsvalueoflargesttickdimen y -0.3em)},anchor=south west,inner sep=0pt}, },% /pgfplots/ylabel absolute/.style={% /pgfplots/every axis y label/.style={at={(0,0.5)},xshift=-35pt,rotate=90}, /pgfplots/every y tick scale label/.style={at={(0,1)},above right,inner sep=0pt,yshift=0.3em}, },% /pgfplots/every axis y label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis y label}}, /pgfplots/every axis y label/.belongs to family=/pgfplots/descriptions, /pgfplots/every axis z label/.style={at={(ticklabel cs:0.5)},rotate=90, anchor=near ticklabel}, /pgfplots/every axis z label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis z label}}, /pgfplots/every axis z label/.belongs to family=/pgfplots/descriptions, /pgfplots/every 3d description/.style={% /pgfplots/every axis x label/.style={at={(ticklabel cs:0.5)},anchor=near ticklabel},% /pgfplots/every axis y label/.style={at={(ticklabel cs:0.5)},anchor=near ticklabel},% /pgfplots/every x tick scale label/.style={at={(xticklabel cs:0.95,5pt)},anchor=near xticklabel,inner sep=0pt}, /pgfplots/every y tick scale label/.style={at={(yticklabel cs:0.95,5pt)},anchor=near yticklabel,inner sep=0pt}, /pgfplots/try min ticks=3,% },% /pgfplots/every 3d view {0}{90}/.style={% /pgfplots/xlabel near ticks,% /pgfplots/ylabel near ticks,% /pgfplots/axis on top=true,% },% % will be defined in \pgfplotspoint@initialisation: %/tikz/sloped like x axis/.code={...},% /pgfplots/title shift/.code={\pgfplots@error{Sorry, there is no 'title shift' option. Consider using 'title style={yshift=...}' (or the low level 'every axis title shift' which works only together with the initial 'every axis title' style)}},% /pgfplots/every axis title shift/.initial=6pt, /pgfplots/every axis title/.style={at={(0.5,1)},above,yshift=\pgfkeysvalueof{/pgfplots/every axis title shift}}, /pgfplots/every axis title/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis title}}, /pgfplots/every axis title/.belongs to family=/pgfplots/descriptions, /pgfplots/every tick/.style={very thin,gray}, /pgfplots/every tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every tick}}, /pgfplots/every tick/.belongs to family=/pgfplots/style commands, /pgfplots/every inner x axis line/.style={}, /pgfplots/every inner y axis line/.style={}, /pgfplots/every inner z axis line/.style={}, /pgfplots/every outer x axis line/.style={}, /pgfplots/every outer y axis line/.style={}, /pgfplots/every outer z axis line/.style={}, /pgfplots/x axis line style/.style={ /pgfplots/every outer x axis line/.append style={#1}, /pgfplots/every inner x axis line/.append style={#1}, }, /pgfplots/y axis line style/.style={ /pgfplots/every outer y axis line/.append style={#1}, /pgfplots/every inner y axis line/.append style={#1}, }, /pgfplots/z axis line style/.style={ /pgfplots/every outer z axis line/.append style={#1}, /pgfplots/every inner z axis line/.append style={#1}, }, /pgfplots/outer axis line style/.style={ /pgfplots/every outer x axis line/.append style={#1}, /pgfplots/every outer y axis line/.append style={#1}% /pgfplots/every outer z axis line/.append style={#1}% }, /pgfplots/inner axis line style/.style={ /pgfplots/every inner x axis line/.append style={#1}, /pgfplots/every inner y axis line/.append style={#1}% /pgfplots/every inner z axis line/.append style={#1}% }, /pgfplots/axis line style/.style={ /pgfplots/inner axis line style={#1}, /pgfplots/outer axis line style={#1}% }, /pgfplots/separate axis lines/.is if=pgfplots@separate@axis@lines, /pgfplots/separate axis lines/.default=true, /pgfplots/every minor tick/.style={}, /pgfplots/every minor tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor tick}}, /pgfplots/every minor tick/.belongs to family=/pgfplots/style commands, /pgfplots/every major tick/.style={}, /pgfplots/every major tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major tick}}, /pgfplots/every major tick/.belongs to family=/pgfplots/style commands, /pgfplots/every x tick/.style={}, /pgfplots/every x tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every x tick}}, /pgfplots/every x tick/.belongs to family=/pgfplots/style commands, /pgfplots/every minor x tick/.style={}, /pgfplots/every minor x tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor x tick}}, /pgfplots/every minor x tick/.belongs to family=/pgfplots/style commands, /pgfplots/every major x tick/.style={}, /pgfplots/every major x tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major x tick}}, /pgfplots/every major x tick/.belongs to family=/pgfplots/style commands, /pgfplots/every y tick/.style={}, /pgfplots/every y tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every y tick}}, /pgfplots/every y tick/.belongs to family=/pgfplots/style commands, /pgfplots/every minor y tick/.style={}, /pgfplots/every minor y tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor y tick}}, /pgfplots/every minor y tick/.belongs to family=/pgfplots/style commands, /pgfplots/every major y tick/.style={}, /pgfplots/every major y tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major y tick}}, /pgfplots/every major y tick/.belongs to family=/pgfplots/style commands, /pgfplots/every z tick/.style={}, /pgfplots/every z tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every z tick}}, /pgfplots/every z tick/.belongs to family=/pgfplots/style commands, /pgfplots/every minor z tick/.style={}, /pgfplots/every minor z tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor z tick}}, /pgfplots/every minor z tick/.belongs to family=/pgfplots/style commands, /pgfplots/every major z tick/.style={}, /pgfplots/every major z tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major z tick}}, /pgfplots/every major z tick/.belongs to family=/pgfplots/style commands, %/pgfplots/every axis grid/.style={help lines}, /pgfplots/every axis grid/.style={thin,black!25}, /pgfplots/every axis grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis grid}}, /pgfplots/every axis grid/.belongs to family=/pgfplots/style commands, /pgfplots/every minor grid/.style={}, /pgfplots/every minor grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor grid}}, /pgfplots/every minor grid/.belongs to family=/pgfplots/style commands, /pgfplots/every major grid/.style={}, /pgfplots/every major grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major grid}}, /pgfplots/every major grid/.belongs to family=/pgfplots/style commands, /pgfplots/every axis x grid/.style={}, /pgfplots/every axis x grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis x grid}}, /pgfplots/every axis x grid/.belongs to family=/pgfplots/style commands, /pgfplots/every minor x grid/.style={}, /pgfplots/every minor x grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor x grid}}, /pgfplots/every minor x grid/.belongs to family=/pgfplots/style commands, /pgfplots/every major x grid/.style={}, /pgfplots/every major x grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major x grid}}, /pgfplots/every major x grid/.belongs to family=/pgfplots/style commands, /pgfplots/every axis y grid/.style={}, /pgfplots/every axis y grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis y grid}}, /pgfplots/every axis y grid/.belongs to family=/pgfplots/style commands, /pgfplots/every minor y grid/.style={}, /pgfplots/every minor y grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor y grid}}, /pgfplots/every minor y grid/.belongs to family=/pgfplots/style commands, /pgfplots/every major y grid/.style={}, /pgfplots/every major y grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major y grid}}, /pgfplots/every major y grid/.belongs to family=/pgfplots/style commands, /pgfplots/every axis z grid/.style={}, /pgfplots/every axis z grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis z grid}}, /pgfplots/every axis z grid/.belongs to family=/pgfplots/style commands, /pgfplots/every minor z grid/.style={}, /pgfplots/every minor z grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor z grid}}, /pgfplots/every minor z grid/.belongs to family=/pgfplots/style commands, /pgfplots/every major z grid/.style={}, /pgfplots/every major z grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major z grid}}, /pgfplots/every major z grid/.belongs to family=/pgfplots/style commands, /pgfplots/every tick label/.style={}, /pgfplots/every tick label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every tick label}}, /pgfplots/every tick label/.belongs to family=/pgfplots/style commands, /pgfplots/every x tick label/.style={}, /pgfplots/every x tick label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every x tick label}}, /pgfplots/every x tick label/.belongs to family=/pgfplots/style commands, /pgfplots/every extra x tick/.style={ /pgfplots/log identify minor tick positions=true, }, /pgfplots/every extra x tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every extra x tick}}, /pgfplots/every extra x tick/.belongs to family=/pgfplots/style commands, /pgfplots/extra x tick style/.belongs to family=/pgfplots/style commands, /pgfplots/extra x tick style/.code={% \pgfkeysalso{/pgfplots/every extra x tick/.append style={#1}}% }, /pgfplots/extra tick style/.code={% \pgfkeysalso{% /pgfplots/every extra x tick/.append style={#1},% /pgfplots/every extra y tick/.append style={#1},% /pgfplots/every extra z tick/.append style={#1}}% }, /pgfplots/every x tick scale label/.initial=,% set by compat/labels=... /pgfplots/every x tick scale label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every x tick scale label}}, /pgfplots/every x tick scale label/.belongs to family=/pgfplots/descriptions, /pgfplots/every y tick label/.style={}, /pgfplots/every y tick label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every y tick label}}, /pgfplots/every y tick label/.belongs to family=/pgfplots/style commands, /pgfplots/every extra y tick/.style={ /pgfplots/log identify minor tick positions=true, }, /pgfplots/every extra y tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every extra y tick}}, /pgfplots/every extra y tick/.belongs to family=/pgfplots/style commands, /pgfplots/extra y tick style/.belongs to family=/pgfplots/style commands, /pgfplots/extra y tick style/.code={% \pgfkeysalso{/pgfplots/every extra y tick/.append style={#1}}% }, /pgfplots/every y tick scale label/.initial=,% set by compat/labels=... /pgfplots/every y tick scale label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every y tick scale label}}, /pgfplots/every y tick scale label/.belongs to family=/pgfplots/descriptions, /pgfplots/every z tick label/.style={}, /pgfplots/every z tick label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every z tick label}}, /pgfplots/every z tick label/.belongs to family=/pgfplots/style commands, /pgfplots/every extra z tick/.style={ /pgfplots/log identify minor tick positions=true, }, /pgfplots/every extra z tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every extra z tick}}, /pgfplots/every extra z tick/.belongs to family=/pgfplots/style commands, /pgfplots/extra z tick style/.belongs to family=/pgfplots/style commands, /pgfplots/extra z tick style/.code={% \pgfkeysalso{/pgfplots/every extra z tick/.append style={#1}}% }, /pgfplots/every z tick scale label/.style={at={(zticklabel cs:1.2,-\pgfplotsvalueoflargesttickdimen z -0.3em)},anchor=near zticklabel,inner sep=0pt}, /pgfplots/every z tick scale label/.belongs to family=/pgfplots/descriptions, /pgfplots/every axis legend/.style={% cells={anchor=center}, inner xsep=3pt,inner ysep=2pt,nodes={inner sep=2pt,text depth=0.15em}, anchor=north east,% shape=rectangle,% fill=white,% draw=black, at={(0.98,0.98)}, }, /pgfplots/every axis legend/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis legend}}, /pgfplots/every axis legend/.belongs to family=/pgfplots/style commands, % % Colorbar interface: /pgfplots/colorbar/.is if=pgfplots@colorbar, /pgfplots/colorbar/.default=true, /pgfplots/colorbar right/.style={% /pgfplots/colorbar=true, /pgfplots/colorbar shift/.style={xshift=0.3cm}, /pgfplots/every colorbar/.style={% title=, xlabel=, ylabel=, zlabel=, legend entries=, axis on top, at={(parent axis.right of north east)}, anchor=north west, grid=none, xmin=0, xmax=1, ymin=\pgfkeysvalueof{/pgfplots/point meta min}, ymax=\pgfkeysvalueof{/pgfplots/point meta max}, plot graphics/xmin=0,% plot graphics/xmax=1, plot graphics/ymin=\pgfkeysvalueof{/pgfplots/point meta min}, plot graphics/ymax=\pgfkeysvalueof{/pgfplots/point meta max}, enlargelimits=false, scale only axis, height=\pgfkeysvalueof{/pgfplots/parent axis height},% x=\pgfkeysvalueof{/pgfplots/colorbar/width}, xtick=\empty, xticklabel=, ytick=, yticklabel=, yticklabel pos=right, colorbar vertical/lowlevel, }% },% /pgfplots/colorbar left/.style={% /pgfplots/colorbar right, /pgfplots/colorbar shift/.style={xshift=-0.3cm}, /pgfplots/every colorbar/.append style={% at={(parent axis.left of north west)}, anchor=north east, yticklabel pos=left, }% },% /pgfplots/colorbar horizontal/.style={% /pgfplots/colorbar=true, /pgfplots/colorbar shift/.style={yshift=-0.3cm}, /pgfplots/every colorbar/.style={% title=, xlabel=, ylabel=, zlabel=, legend entries=, axis on top, at={(parent axis.below south west)}, anchor=north west, grid=none, ymin=0, ymax=1, xmin=\pgfkeysvalueof{/pgfplots/point meta min}, xmax=\pgfkeysvalueof{/pgfplots/point meta max}, plot graphics/ymin=0,% plot graphics/ymax=1, plot graphics/xmin=\pgfkeysvalueof{/pgfplots/point meta min}, plot graphics/xmax=\pgfkeysvalueof{/pgfplots/point meta max}, enlargelimits=false, scale only axis, width=\pgfkeysvalueof{/pgfplots/parent axis width},% y=\pgfkeysvalueof{/pgfplots/colorbar/width}, xticklabel pos=left, xtick=, xticklabel=, ytick=\empty, colorbar horizontal/lowlevel, }% },% % You might wonder why this special treatment with '/lowlevel' % keys is necessary. Well, It turned out that using '##' inside of % styles is incompatible with '.add code' -- and therefor also % with '.append style'. This here is a work-around which works. /pgfplots/colorbar vertical/lowlevel/.style={% plot graphics/lowlevel draw/.code 2 args={% \if\pgfkeysvalueof{/pgfplots/y dir/value}n% \pgfplotscolormaptoshadingspec{\pgfkeysvalueof{/pgfplots/colormap name}}{##2}\pgfplots@loc@TMPa \else \pgfplotscolormapreversedtoshadingspec{\pgfkeysvalueof{/pgfplots/colormap name}}{##2}\pgfplots@loc@TMPa \fi \def\pgfplots@loc@TMPb{\pgfdeclareverticalshading{tempshading}{\pgfkeysvalueof{/pgfplots/colorbar/width}}}% \expandafter\pgfplots@loc@TMPb\expandafter{\pgfplots@loc@TMPa}% \pgfuseshading{tempshading}% },% }, /pgfplots/colorbar horizontal/lowlevel/.style={% plot graphics/lowlevel draw/.code 2 args={% \if\pgfkeysvalueof{/pgfplots/x dir/value}n% \pgfplotscolormaptoshadingspec{\pgfkeysvalueof{/pgfplots/colormap name}}{##1}\pgfplots@loc@TMPa \else \pgfplotscolormapreversedtoshadingspec{\pgfkeysvalueof{/pgfplots/colormap name}}{##1}\pgfplots@loc@TMPa \fi \def\pgfplots@loc@TMPb{\pgfdeclarehorizontalshading{tempshading}{\pgfkeysvalueof{/pgfplots/colorbar/width}}}% \expandafter\pgfplots@loc@TMPb\expandafter{\pgfplots@loc@TMPa}% \pgfuseshading{tempshading}% },% },% /pgfplots/colorbar right, /pgfplots/colorbar=false, /pgfplots/colorbar style/.style={/pgfplots/every colorbar/.append style={#1}}, /pgfplots/colorbar/width/.initial=0.5cm, /pgfplots/colorbar/draw/.code={% \axis[every colorbar,colorbar shift,colorbar=false] \addplot graphics {}; \endaxis },% % tick options: /pgfplots/xticklabel/.store in= \pgfplots@xticklabel, /pgfplots/xticklabel/.belongs to family=/pgfplots/tick, /pgfplots/xticklabel=, /pgfplots/xticklabels/.belongs to family=/pgfplots/tick, /pgfplots/xticklabels/.code={% \pgfplotslistnew\pgfplots@xticklabels{#1}% \let\pgfplots@xticklabel=\pgfplots@user@ticklabel@list@x }, % #1 table name or macro % #2 column name (or alias or create on use) /pgfplots/xticklabels from table/.code 2 args={% \pgfplotstablegetcolumn{#2}\of{#1}\to\pgfplots@xticklabels \let\pgfplots@xticklabel=\pgfplots@user@ticklabel@list@x }, /pgfplots/xticklabels from table/.belongs to family=/pgfplots/tick, /pgfplots/yticklabels/.belongs to family=/pgfplots/tick, /pgfplots/yticklabels/.code={% \pgfplotslistnew\pgfplots@yticklabels{#1}% \let\pgfplots@yticklabel=\pgfplots@user@ticklabel@list@y }, % #1 table name or macro % #2 column name (or alias or create on use) /pgfplots/yticklabels from table/.code 2 args={% \pgfplotstablegetcolumn{#2}\of{#1}\to\pgfplots@yticklabels \let\pgfplots@yticklabel=\pgfplots@user@ticklabel@list@y }, /pgfplots/yticklabels from table/.belongs to family=/pgfplots/tick, /pgfplots/yticklabel/.store in= \pgfplots@yticklabel, /pgfplots/yticklabel/.belongs to family=/pgfplots/tick, /pgfplots/yticklabel=, /pgfplots/zticklabels/.belongs to family=/pgfplots/tick, /pgfplots/zticklabels/.code={% \pgfplotslistnew\pgfplots@zticklabels{#1}% \let\pgfplots@zticklabel=\pgfplots@user@ticklabel@list@z }, % #1 table name or macro % #2 column name (or alias or create on use) /pgfplots/zticklabels from table/.code 2 args={% \pgfplotstablegetcolumn{#2}\of{#1}\to\pgfplots@zticklabels \let\pgfplots@zticklabel=\pgfplots@user@ticklabel@list@z }, /pgfplots/zticklabels from table/.belongs to family=/pgfplots/tick, /pgfplots/zticklabel/.store in= \pgfplots@zticklabel, /pgfplots/zticklabel/.belongs to family=/pgfplots/tick, /pgfplots/zticklabel=, /pgfplots/x tick label as interval/.is if=pgfplots@xticklabel@interval, /pgfplots/x tick label as interval/.default=true, /pgfplots/x tick label as interval/.belongs to family=/pgfplots/tick, /pgfplots/y tick label as interval/.is if=pgfplots@yticklabel@interval, /pgfplots/y tick label as interval/.default=true, /pgfplots/y tick label as interval/.belongs to family=/pgfplots/tick, /pgfplots/z tick label as interval/.is if=pgfplots@zticklabel@interval, /pgfplots/z tick label as interval/.default=true, /pgfplots/z tick label as interval/.belongs to family=/pgfplots/tick, /pgfplots/extra x tick label/.store in= \pgfplots@extra@xticklabel, /pgfplots/extra x tick label/.belongs to family=/pgfplots/tick, /pgfplots/extra x tick label=, /pgfplots/extra x tick labels/.belongs to family=/pgfplots/tick, /pgfplots/extra x tick labels/.code={% \pgfplotslistnew\pgfplots@extra@xticklabels{#1}% \let\pgfplots@extra@xticklabel=\pgfplots@user@extra@ticklabel@list@x }, /pgfplots/extra y tick labels/.code={% \pgfplotslistnew\pgfplots@extra@yticklabels{#1}% \let\pgfplots@extra@yticklabel=\pgfplots@user@extra@ticklabel@list@y }, /pgfplots/extra z tick labels/.code={% \pgfplotslistnew\pgfplots@extra@zticklabels{#1}% \let\pgfplots@extra@zticklabel=\pgfplots@user@extra@ticklabel@list@z }, /pgfplots/xtick/.store in= \pgfplots@xtick, /pgfplots/xtick/.belongs to family=/pgfplots/tick, /pgfplots/xtick=, /pgfplots/extra x ticks/.store in=\pgfplots@extra@xtick, /pgfplots/extra x ticks/.belongs to family=/pgfplots/tick, /pgfplots/extra x ticks=, /pgfplots/xtickten/.store in= \pgfplots@xtickten, /pgfplots/xtickten/.belongs to family=/pgfplots/tick, /pgfplots/xtickten=, /pgfplots/extra y tick label/.store in= \pgfplots@extra@yticklabel, /pgfplots/extra y tick label/.belongs to family=/pgfplots/tick, /pgfplots/extra y tick label=, /pgfplots/ytick/.store in= \pgfplots@ytick, /pgfplots/ytick/.belongs to family=/pgfplots/tick, /pgfplots/ytick=, /pgfplots/extra y ticks/.store in=\pgfplots@extra@ytick, /pgfplots/extra y ticks/.belongs to family=/pgfplots/tick, /pgfplots/extra y ticks=, /pgfplots/ytickten/.store in= \pgfplots@ytickten, /pgfplots/ytickten/.belongs to family=/pgfplots/tick, /pgfplots/ytickten=, /pgfplots/extra z tick label/.store in= \pgfplots@extra@zticklabel, /pgfplots/extra z tick label/.belongs to family=/pgfplots/tick, /pgfplots/extra z tick label=, /pgfplots/ztick/.store in= \pgfplots@ztick, /pgfplots/ztick/.belongs to family=/pgfplots/tick, /pgfplots/ztick=, /pgfplots/extra z ticks/.store in=\pgfplots@extra@ztick, /pgfplots/extra z ticks/.belongs to family=/pgfplots/tick, /pgfplots/extra z ticks=, /pgfplots/ztickten/.store in= \pgfplots@ztickten, /pgfplots/ztickten/.belongs to family=/pgfplots/tick, /pgfplots/ztickten=, /pgfplots/tick scale binop/.initial=\cdot, /pgfplots/xtick scale label code/.code={$\pgfkeysvalueof{/pgfplots/tick scale binop} 10^{#1}$}, /pgfplots/xtick scale label code/.belongs to family=/pgfplots/tick, /pgfplots/ytick scale label code/.code={$\pgfkeysvalueof{/pgfplots/tick scale binop} 10^{#1}$}, /pgfplots/ytick scale label code/.belongs to family=/pgfplots/tick, /pgfplots/ztick scale label code/.code={$\pgfkeysvalueof{/pgfplots/tick scale binop} 10^{#1}$}, /pgfplots/ztick scale label code/.belongs to family=/pgfplots/tick, /pgfplots/tick scale label code/.style={% /pgfplots/xtick scale label code={#1}, /pgfplots/ytick scale label code={#1}% /pgfplots/ztick scale label code={#1}% },% /pgfplots/scaled x ticks/.code={\pgfplots@scaled@ticks@setargs{x}{#1}}, /pgfplots/scaled x ticks/false/.code= {\def\pgfplots@scaled@ticks@x@choice{0}}, /pgfplots/scaled x ticks/true/.code= {\def\pgfplots@scaled@ticks@x@choice{1}}, /pgfplots/scaled x ticks/base 10/.code= {\def\pgfplots@scaled@ticks@x@choice{2}\def\pgfplots@scaled@ticks@x@arg{#1}}, /pgfplots/scaled x ticks/real/.code= {% \def\pgfplots@scaled@ticks@x@choice{3}\def\pgfplots@scaled@ticks@x@arg{#1}% \pgfkeys{/pgfplots/xtick scale label code/.code={$\pgfkeysvalueof{/pgfplots/tick scale binop} \pgfmathprintnumber{#1}$}}}, /pgfplots/scaled x ticks/manual/.code 2 args= {% \def\pgfplots@scaled@ticks@x@choice{4}\def\pgfplots@scaled@ticks@x@arg##1{#2}% \pgfkeys{/pgfplots/xtick scale label code/.code={#1}}}, /pgfplots/scaled x ticks/.belongs to family=/pgfplots/tick, /pgfplots/scaled x ticks=true, /pgfplots/scaled y ticks/.code={\pgfplots@scaled@ticks@setargs{y}{#1}}, /pgfplots/scaled y ticks/false/.code= {\def\pgfplots@scaled@ticks@y@choice{0}}, /pgfplots/scaled y ticks/true/.code= {\def\pgfplots@scaled@ticks@y@choice{1}}, /pgfplots/scaled y ticks/base 10/.code= {\def\pgfplots@scaled@ticks@y@choice{2}\def\pgfplots@scaled@ticks@y@arg{#1}}, /pgfplots/scaled y ticks/real/.code= {% \def\pgfplots@scaled@ticks@y@choice{3}\def\pgfplots@scaled@ticks@y@arg{#1}% \pgfkeys{/pgfplots/ytick scale label code/.code={$\pgfkeysvalueof{/pgfplots/tick scale binop} \pgfmathprintnumber{#1}$}}}, /pgfplots/scaled y ticks/manual/.code 2 args= {% \def\pgfplots@scaled@ticks@y@choice{4}\def\pgfplots@scaled@ticks@y@arg##1{#2}% \pgfkeys{/pgfplots/ytick scale label code/.code={#1}}}, /pgfplots/scaled y ticks/.belongs to family=/pgfplots/tick, /pgfplots/scaled y ticks=true, /pgfplots/scaled z ticks/.code={\pgfplots@scaled@ticks@setargs{z}{#1}}, /pgfplots/scaled z ticks/false/.code= {\def\pgfplots@scaled@ticks@z@choice{0}}, /pgfplots/scaled z ticks/true/.code= {\def\pgfplots@scaled@ticks@z@choice{1}}, /pgfplots/scaled z ticks/base 10/.code= {\def\pgfplots@scaled@ticks@z@choice{2}\def\pgfplots@scaled@ticks@z@arg{#1}}, /pgfplots/scaled z ticks/real/.code= {% \def\pgfplots@scaled@ticks@z@choice{3}\def\pgfplots@scaled@ticks@z@arg{#1}% \pgfkeys{/pgfplots/ztick scale label code/.code={$\pgfkeysvalueof{/pgfplots/tick scale binop} \pgfmathprintnumber{#1}$}}}, /pgfplots/scaled z ticks/manual/.code 2 args= {% \def\pgfplots@scaled@ticks@z@choice{4}\def\pgfplots@scaled@ticks@z@arg##1{#2}% \pgfkeys{/pgfplots/ztick scale label code/.code={#1}}}, /pgfplots/scaled z ticks/.belongs to family=/pgfplots/tick, /pgfplots/scaled z ticks=true, /pgfplots/scaled ticks/.style={% /pgfplots/scaled x ticks=#1, /pgfplots/scaled y ticks=#1, /pgfplots/scaled z ticks=#1 }, /pgfplots/scale ticks above exponent/.store in= \pgfplots@scale@ticks@above@exponent, /pgfplots/scale ticks above exponent/.belongs to family=/pgfplots/tick, /pgfplots/scale ticks above exponent=3, /pgfplots/scale ticks below exponent/.store in= \pgfplots@scale@ticks@below@exponent, /pgfplots/scale ticks below exponent/.belongs to family=/pgfplots/tick, /pgfplots/scale ticks below exponent=-1, /pgfplots/subtickwidth/.store in= \pgfplots@subtickwidth, /pgfplots/subtickwidth/.belongs to family=/pgfplots/tick, /pgfplots/subtickwidth=0.1cm, /pgfplots/tickwidth/.store in= \pgfplots@tickwidth, /pgfplots/tickwidth/.belongs to family=/pgfplots/tick, /pgfplots/tickwidth=0.15cm, /pgfplots/minor x tick num/.initial=0, /pgfplots/minor x tick num/.belongs to family=/pgfplots/tick, /pgfplots/minor y tick num/.initial=0, /pgfplots/minor y tick num/.belongs to family=/pgfplots/tick, /pgfplots/minor z tick num/.initial=0, /pgfplots/minor z tick num/.belongs to family=/pgfplots/tick, /pgfplots/minor tick num/.style={ /pgfplots/minor x tick num=#1, /pgfplots/minor y tick num=#1, /pgfplots/minor z tick num=#1, }, /pgfplots/minor tick num/.belongs to family=/pgfplots/tick, /pgfplots/minor tick length/.estore in=\pgfplots@subtickwidth, /pgfplots/minor tick length/.belongs to family=/pgfplots/tick, /pgfplots/major tick length/.estore in=\pgfplots@tickwidth, /pgfplots/major tick length/.belongs to family=/pgfplots/tick, /pgfplots/max space between ticks/.estore in=\axisdefaulttickwidth, /pgfplots/max space between ticks/.belongs to family=/pgfplots/tick, /pgfplots/max space between ticks=35,% the maximum space between adjacent ticks (in pt, but don't specify the unit 'pt') /pgfplots/try min ticks/.estore in= \axisdefaulttryminticks, /pgfplots/try min ticks/.belongs to family=/pgfplots/tick, /pgfplots/try min ticks=4, /pgfplots/try min ticks log/.estore in= \pgfplots@default@try@minticks@log, /pgfplots/try min ticks log/.belongs to family=/pgfplots/tick, /pgfplots/try min ticks log=3, /pgfplots/log basis x/.initial=, /pgfplots/log basis y/.initial=, /pgfplots/log basis z/.initial=, /pgfplots/log base x/.style={log basis x={#1}},% /pgfplots/log base y/.style={log basis y={#1}},% /pgfplots/log base z/.style={log basis z={#1}},% /pgfplots/log plot exponent style/.style={/pgf/number format/fixed,/pgf/number format/precision=2}, /pgfplots/log plot exponent style/.belongs to family=/pgfplots/tick, /pgfplots/log identify minor tick positions/.is if=pgfplots@identify@log@minor@tick@pos, /pgfplots/log identify minor tick positions/.belongs to family=/pgfplots/tick, /pgfplots/log identify minor tick positions=false, /pgfplots/log number format code/.code={% \begingroup \pgfmathlogtologten@{#1}% \ifpgfplots@identify@log@minor@tick@pos \expandafter\pgfplots@is@log@tick@a@minor@tick@pos\pgfmathresult\relax% \else \pgfplots@log@tick@isminor@tick@posfalse \fi \ifpgfplots@log@tick@isminor@tick@pos \pgfmathprintnumber[sci]{\pgfmathresult}% \else \pgfkeysalso{/pgfplots/log plot exponent style,/pgfplots/log base 10 number format code=\pgfmathresult}% \fi \endgroup }, /pgfplots/log number format code/.belongs to family=/pgfplots/tick, /pgfplots/log base 10 number format code/.code={{\pgfplots@invoke@pgfkeyscode{/pgfplots/log number format basis/.@cmd}{{10}{#1}}}}, /pgfplots/log base 10 number format code/.belongs to family=/pgfplots/tick, % #1 = basis % #2 = exponent /pgfplots/log number format basis/.code 2 args={$#1^{\pgfmathprintnumber{#2}}$}, % takes #1 = [xyz]: /pgfplots/log basis ticks/.style={% /pgfplots/every #1 tick label/.append style={% /pgfplots/log number format code/.code={% \begingroup \pgfkeysalso{/pgfplots/log plot exponent style}% \pgfplots@invoke@pgfkeyscode{/pgfplots/log number format basis/.@cmd}{{\pgfkeysvalueof{/pgfplots/log basis #1}}{####1}}% \endgroup }% }% }, % sets \pgfplots@[xy]tickposnum to /pgfplots/xtick pos/.is choice, /pgfplots/xtick pos/.belongs to family=/pgfplots/tick, /pgfplots/xtick pos/left/.code ={\def\pgfplots@xtickposnum{1}}, /pgfplots/xtick pos/left/.belongs to family=/pgfplots/tick, /pgfplots/xtick pos/right/.code ={\def\pgfplots@xtickposnum{3}}, /pgfplots/xtick pos/right/.belongs to family=/pgfplots/tick, /pgfplots/xtick pos/both/.code ={\def\pgfplots@xtickposnum{0}}, /pgfplots/xtick pos/both/.belongs to family=/pgfplots/tick, /pgfplots/xtick pos=both, /pgfplots/ytick pos/.is choice, /pgfplots/ytick pos/.belongs to family=/pgfplots/tick, /pgfplots/ytick pos/left/.code ={\def\pgfplots@ytickposnum{1}}, /pgfplots/ytick pos/left/.belongs to family=/pgfplots/tick, /pgfplots/ytick pos/right/.code ={\def\pgfplots@ytickposnum{3}}, /pgfplots/ytick pos/right/.belongs to family=/pgfplots/tick, /pgfplots/ytick pos/both/.code ={\def\pgfplots@ytickposnum{0}}, /pgfplots/ytick pos/both/.belongs to family=/pgfplots/tick, /pgfplots/ytick pos/top/.style={/pgfplots/ytick pos/right}, /pgfplots/ytick pos/bottom/.style={/pgfplots/ytick pos/left}, /pgfplots/ytick pos=both, /pgfplots/ztick pos/.is choice, /pgfplots/ztick pos/.belongs to family=/pgfplots/tick, /pgfplots/ztick pos/left/.code ={\def\pgfplots@ztickposnum{1}}, /pgfplots/ztick pos/left/.belongs to family=/pgfplots/tick, /pgfplots/ztick pos/right/.code ={\def\pgfplots@ztickposnum{3}}, /pgfplots/ztick pos/right/.belongs to family=/pgfplots/tick, /pgfplots/ztick pos/both/.code ={\def\pgfplots@ztickposnum{0}}, /pgfplots/ztick pos/both/.belongs to family=/pgfplots/tick, /pgfplots/ztick pos/top/.style={/pgfplots/ztick pos/right}, /pgfplots/ztick pos/bottom/.style={/pgfplots/ztick pos/left}, /pgfplots/ztick pos=both, /pgfplots/tickpos/.style={ /pgfplots/xtick pos={#1}, /pgfplots/ytick pos={#1}, /pgfplots/ztick pos={#1} }, /pgfplots/tickpos/.belongs to family=/pgfplots/tick, /pgfplots/tick pos/.style={/pgfplots/tickpos={#1}}, % sets the tick LABEL position, \pgfplots@[xy]ticklabel@pos % to one of % lower (alias left alias bottom) : l % upper (alias right alias top) : u % default: uses one matches 'tick pos' /pgfplots/xticklabel pos/.code={\pgfplots@setkey@ticklabelpos{x}{#1}}, /pgfplots/xticklabel pos/.belongs to family=/pgfplots/tick, /pgfplots/xticklabel pos=default, /pgfplots/yticklabel pos/.code={\pgfplots@setkey@ticklabelpos{y}{#1}}, /pgfplots/yticklabel pos/.belongs to family=/pgfplots/tick, /pgfplots/yticklabel pos=default, /pgfplots/zticklabel pos/.code={\pgfplots@setkey@ticklabelpos{z}{#1}}, /pgfplots/zticklabel pos/.belongs to family=/pgfplots/tick, /pgfplots/zticklabel pos=default, /pgfplots/ticklabelpos/.style={/pgfplots/ticklabel pos={#1}}, /pgfplots/ticklabel pos/.style={ /pgfplots/xticklabel pos={#1}, /pgfplots/yticklabel pos={#1}, /pgfplots/zticklabel pos={#1}, }, % This feature is more or less deprecated. % The choice 'auto' should always use 'near ticklabel'. % % Choices are % 'auto' (value 0), % 'near ticklabel' (value 1), % 'tikz' (value 2) % with values stored in \pgfplots@ticklabel@anchor@[xyz] /pgfplots/xticklabel anchor/.code={\pgfplots@setticklabel@anchor@for x{#1}}, /pgfplots/xticklabel anchor/.belongs to family=/pgfplots/tick, /pgfplots/yticklabel anchor/.code={\pgfplots@setticklabel@anchor@for y{#1}}, /pgfplots/yticklabel anchor/.belongs to family=/pgfplots/tick, /pgfplots/zticklabel anchor/.code={\pgfplots@setticklabel@anchor@for z{#1}}, /pgfplots/zticklabel anchor/.belongs to family=/pgfplots/tick, /pgfplots/ticklabel anchor/.style={ /pgfplots/xticklabel anchor={#1}, /pgfplots/yticklabel anchor={#1}, /pgfplots/zticklabel anchor={#1} }, /pgfplots/ticklabel anchor=auto, /pgfplots/xticklabel shift/.initial=, /pgfplots/yticklabel shift/.initial=, /pgfplots/zticklabel shift/.initial=, /pgfplots/ticklabel shift/.style={ /pgfplots/xticklabel shift={#1}, /pgfplots/yticklabel shift={#1}, /pgfplots/zticklabel shift={#1} },% % sets \pgfplots@{x,y}tickalignnum to % inside=0 % outside=1 % center=2 /pgfplots/xtick align/.is choice, /pgfplots/xtick align/.belongs to family=/pgfplots/tick, /pgfplots/xtick align/inside/.code ={\def\pgfplots@xtickalignnum{0}}, /pgfplots/xtick align/inside/.belongs to family=/pgfplots/tick, /pgfplots/xtick align/outside/.code ={\def\pgfplots@xtickalignnum{1}}, /pgfplots/xtick align/outside/.belongs to family=/pgfplots/tick, /pgfplots/xtick align/center/.code ={\def\pgfplots@xtickalignnum{2}}, /pgfplots/xtick align/center/.belongs to family=/pgfplots/tick, /pgfplots/xtick align=inside, /pgfplots/ytick align/.is choice, /pgfplots/ytick align/.belongs to family=/pgfplots/tick, /pgfplots/ytick align/inside/.code ={\def\pgfplots@ytickalignnum{0}}, /pgfplots/ytick align/inside/.belongs to family=/pgfplots/tick, /pgfplots/ytick align/outside/.code ={\def\pgfplots@ytickalignnum{1}}, /pgfplots/ytick align/outside/.belongs to family=/pgfplots/tick, /pgfplots/ytick align/center/.code ={\def\pgfplots@ytickalignnum{2}}, /pgfplots/ytick align/center/.belongs to family=/pgfplots/tick, /pgfplots/ytick align=inside, /pgfplots/ztick align/.is choice, /pgfplots/ztick align/.belongs to family=/pgfplots/tick, /pgfplots/ztick align/inside/.code ={\def\pgfplots@ztickalignnum{0}}, /pgfplots/ztick align/inside/.belongs to family=/pgfplots/tick, /pgfplots/ztick align/outside/.code ={\def\pgfplots@ztickalignnum{1}}, /pgfplots/ztick align/outside/.belongs to family=/pgfplots/tick, /pgfplots/ztick align/center/.code ={\def\pgfplots@ztickalignnum{2}}, /pgfplots/ztick align/center/.belongs to family=/pgfplots/tick, /pgfplots/ztick align=inside, /pgfplots/tick align/.belongs to family=/pgfplots/tick, /pgfplots/tick align/.style={% /pgfplots/xtick align=#1, /pgfplots/ytick align=#1, /pgfplots/ztick align=#1, },% % 'axis' options: /pgfplots/anchor/.belongs to family=/pgfplots, /pgfplots/anchor/.store in= \pgfplots@anchorname, /pgfplots/anchor=south west, % tick options: /pgfplots/ticks/.is choice, /pgfplots/ticks/.belongs to family=/pgfplots/tick, /pgfplots/ticks/none/.belongs to family=/pgfplots/tick, /pgfplots/ticks/none/.code={% \pgfplots@xminorticksfalse \pgfplots@yminorticksfalse \pgfplots@zminorticksfalse \pgfplots@xmajorticksfalse \pgfplots@ymajorticksfalse \pgfplots@zmajorticksfalse }, /pgfplots/ticks/major/.belongs to family=/pgfplots/tick, /pgfplots/ticks/major/.code={% \pgfplots@xminorticksfalse \pgfplots@yminorticksfalse \pgfplots@zminorticksfalse \pgfplots@xmajortickstrue \pgfplots@ymajortickstrue \pgfplots@zmajortickstrue }, /pgfplots/ticks/minor/.belongs to family=/pgfplots/tick, /pgfplots/ticks/minor/.code={% \pgfplots@xminortickstrue \pgfplots@yminortickstrue \pgfplots@zminortickstrue \pgfplots@xmajorticksfalse \pgfplots@ymajorticksfalse \pgfplots@zmajorticksfalse }, /pgfplots/ticks/both/.belongs to family=/pgfplots/tick, /pgfplots/ticks/both/.code={% \pgfplots@xminortickstrue \pgfplots@yminortickstrue \pgfplots@zminortickstrue \pgfplots@xmajortickstrue \pgfplots@ymajortickstrue \pgfplots@zmajortickstrue }, /pgfplots/ticks=both, /pgfplots/grid/.is choice, /pgfplots/grid/.belongs to family=/pgfplots/tick, /pgfplots/grid/none/.belongs to family=/pgfplots/tick, /pgfplots/grid/none/.code={% \pgfplots@xminorgridsfalse \pgfplots@yminorgridsfalse \pgfplots@zminorgridsfalse \pgfplots@xmajorgridsfalse \pgfplots@ymajorgridsfalse \pgfplots@zmajorgridsfalse }, /pgfplots/grid/major/.belongs to family=/pgfplots/tick, /pgfplots/grid/major/.code={% \pgfplots@xminorgridsfalse \pgfplots@yminorgridsfalse \pgfplots@zminorgridsfalse \pgfplots@xmajorgridstrue \pgfplots@ymajorgridstrue \pgfplots@zmajorgridstrue }, /pgfplots/grid/minor/.belongs to family=/pgfplots/tick, /pgfplots/grid/minor/.code={% \pgfplots@xminorgridstrue \pgfplots@yminorgridstrue \pgfplots@zminorgridstrue \pgfplots@xmajorgridsfalse \pgfplots@ymajorgridsfalse \pgfplots@zmajorgridsfalse }, /pgfplots/grid/both/.belongs to family=/pgfplots/tick, /pgfplots/grid/both/.code={% \pgfplots@xminorgridstrue \pgfplots@yminorgridstrue \pgfplots@zminorgridstrue \pgfplots@xmajorgridstrue \pgfplots@ymajorgridstrue \pgfplots@zmajorgridstrue }, /pgfplots/grid=none, /pgfplots/grid/.default=major, /pgfplots/xminorticks/.is if=pgfplots@xminorticks, /pgfplots/xminorticks/.default=true, /pgfplots/xminorticks/.belongs to family=/pgfplots/tick, /pgfplots/xmajorticks/.is if=pgfplots@xmajorticks, /pgfplots/xmajorticks/.default=true, /pgfplots/xmajorticks/.belongs to family=/pgfplots/tick, /pgfplots/yminorticks/.is if=pgfplots@yminorticks, /pgfplots/yminorticks/.default=true, /pgfplots/yminorticks/.belongs to family=/pgfplots/tick, /pgfplots/ymajorticks/.is if=pgfplots@ymajorticks, /pgfplots/ymajorticks/.default=true, /pgfplots/ymajorticks/.belongs to family=/pgfplots/tick, /pgfplots/zminorticks/.is if=pgfplots@zminorticks, /pgfplots/zminorticks/.default=true, /pgfplots/zminorticks/.belongs to family=/pgfplots/tick, /pgfplots/zmajorticks/.is if=pgfplots@zmajorticks, /pgfplots/zmajorticks/.default=true, /pgfplots/zmajorticks/.belongs to family=/pgfplots/tick, /pgfplots/xminorgrids/.is if=pgfplots@xminorgrids, /pgfplots/xminorgrids/.default=true, /pgfplots/xminorgrids/.belongs to family=/pgfplots/tick, /pgfplots/xmajorgrids/.is if=pgfplots@xmajorgrids, /pgfplots/xmajorgrids/.default=true, /pgfplots/xmajorgrids/.belongs to family=/pgfplots/tick, /pgfplots/yminorgrids/.is if=pgfplots@yminorgrids, /pgfplots/yminorgrids/.default=true, /pgfplots/yminorgrids/.belongs to family=/pgfplots/tick, /pgfplots/ymajorgrids/.is if=pgfplots@ymajorgrids, /pgfplots/ymajorgrids/.default=true, /pgfplots/ymajorgrids/.belongs to family=/pgfplots/tick, /pgfplots/zminorgrids/.is if=pgfplots@zminorgrids, /pgfplots/zminorgrids/.default=true, /pgfplots/zminorgrids/.belongs to family=/pgfplots/tick, /pgfplots/zmajorgrids/.is if=pgfplots@zmajorgrids, /pgfplots/zmajorgrids/.default=true, /pgfplots/zmajorgrids/.belongs to family=/pgfplots/tick, % legend options: /pgfplots/legend entries/.initial={}, /pgfplots/legend entries/.belongs to family=/pgfplots/legend, /pgfplots/legend pos/.is choice, /pgfplots/legend pos/south west/.style={/pgfplots/legend style={at={(0.03,0.03)},anchor=south west}}, /pgfplots/legend pos/south east/.style={/pgfplots/legend style={at={(0.97,0.03)},anchor=south east}}, /pgfplots/legend pos/north west/.style={/pgfplots/legend style={at={(0.03,0.97)},anchor=north west}}, /pgfplots/legend pos/north east/.style={/pgfplots/legend style={at={(0.97,0.97)},anchor=north east}}, /pgfplots/legend pos/outer north east/.style={/pgfplots/legend style={at={(1.03,1)},anchor=north west}}, /pgfplots/legend columns/.store in=\pgfplots@legend@columns, /pgfplots/legend columns/.belongs to family=/pgfplots/legend, /pgfplots/legend columns=1, /pgfplots/legend plot pos/.is choice, /pgfplots/legend plot pos/.belongs to family=/pgfplots/legend, /pgfplots/legend plot pos/left/.code= {\def\pgfplots@legend@plot@pos{0}}, /pgfplots/legend plot pos/left/.belongs to family=/pgfplots/legend, /pgfplots/legend plot pos/right/.code= {\def\pgfplots@legend@plot@pos{1}}, /pgfplots/legend plot pos/right/.belongs to family=/pgfplots/legend, /pgfplots/legend plot pos/none/.code= {\def\pgfplots@legend@plot@pos{2}}, /pgfplots/legend plot pos/none/.belongs to family=/pgfplots/legend, /pgfplots/legend plot pos=left, /pgfplots/every legend image post/.code={},% /pgfplots/line legend/.style={% /pgfplots/legend image code/.code={% \draw[mark repeat=2,mark phase=2,##1] plot coordinates { (0cm,0cm) (0.3cm,0cm) (0.6cm,0cm)% };% }% }, /pgfplots/line legend, /pgfplots/legend image code/.belongs to family=/pgfplots/legend, /pgfplots/reverse legend/.is if=pgfplots@reverse@legend, /pgfplots/reverse legend/.default=true, % axis description options: /pgfplots/title/.initial=, /pgfplots/xlabel/.initial=, /pgfplots/ylabel/.initial=, /pgfplots/zlabel/.initial=, /pgfplots/xlabel shift/.initial=0pt, /pgfplots/ylabel shift/.initial=0pt, /pgfplots/zlabel shift/.initial=0pt, /pgfplots/label shift/.style={% /pgfplots/xlabel shift={#1}, /pgfplots/ylabel shift={#1}, /pgfplots/zlabel shift={#1}, },% /pgfplots/before end axis/.code=, /pgfplots/after end axis/.code=, /pgfplots/extra description/.code=, % axis options: /pgfplots/at/.code={% \pgfplots@assert@tikzinternal@exists{tikz@scan@one@point}% \tikz@scan@one@point\pgfplots@set@at#1}, /pgfplots/at/.belongs to family=/pgfplots, /pgfplots/clip limits/.is if=pgfplots@clip@limits, /pgfplots/clip limits/.default=true, /pgfplots/clip limits=true, /pgfplots/clip limits/.belongs to family=/pgfplots, /pgfplots/clip/.is if=pgfplots@clip, % will be used if it exists: %/pgfplots/axis background/.style={}, /pgfplots/axis equal/.is if=pgfplots@axis@equal, /pgfplots/axis equal/.default=true, /pgfplots/axis equal image/.is if=pgfplots@axis@equal@image, /pgfplots/axis equal image/.default=true, /pgfplots/xmin/.belongs to family=/pgfplots, /pgfplots/xmin/.initial=, /pgfplots/xmax/.belongs to family=/pgfplots, /pgfplots/xmax/.initial=, /pgfplots/ymin/.belongs to family=/pgfplots, /pgfplots/ymin/.initial=, /pgfplots/ymax/.belongs to family=/pgfplots, /pgfplots/ymax/.initial=, /pgfplots/zmin/.belongs to family=/pgfplots, /pgfplots/zmin/.initial=, /pgfplots/zmax/.belongs to family=/pgfplots, /pgfplots/zmax/.initial=, /pgfplots/xtickmin/.belongs to family=/pgfplots, /pgfplots/xtickmin/.initial=, /pgfplots/xtickmax/.belongs to family=/pgfplots, /pgfplots/xtickmax/.initial=, /pgfplots/ytickmin/.belongs to family=/pgfplots, /pgfplots/ytickmin/.initial=, /pgfplots/ytickmax/.belongs to family=/pgfplots, /pgfplots/ytickmax/.initial=, /pgfplots/ztickmin/.belongs to family=/pgfplots, /pgfplots/ztickmin/.initial=, /pgfplots/ztickmax/.belongs to family=/pgfplots, /pgfplots/ztickmax/.initial=, /pgfplots/stack plots/.is choice, /pgfplots/stack plots/.belongs to family=/pgfplots, /pgfplots/stack plots/x/.code={\def\pgfplots@stacked@dir{x}\pgfplots@stackedmodetrue}, /pgfplots/stack plots/x/.belongs to family=/pgfplots, /pgfplots/stack plots/y/.code={\def\pgfplots@stacked@dir{y}\pgfplots@stackedmodetrue}, /pgfplots/stack plots/y/.belongs to family=/pgfplots, /pgfplots/stack plots/z/.code={\def\pgfplots@stacked@dir{z}\pgfplots@stackedmodetrue}, /pgfplots/stack plots/z/.belongs to family=/pgfplots, /pgfplots/stack plots/false/.code={\pgfplots@stackedmodefalse}, /pgfplots/stack plots/false/.belongs to family=/pgfplots, /pgfplots/stack plots=false, /pgfplots/reverse stacked plots/.is if=pgfplots@stacked@reverse, /pgfplots/reverse stacked plots/.belongs to family=/pgfplots, /pgfplots/reverse stacked plots/.default=true, /pgfplots/reverse stacked plots=true, /pgfplots/stack dir/.is choice, /pgfplots/stack dir/.belongs to family=/pgfplots, /pgfplots/stack dir/plus/.code={\pgfplots@stacked@plustrue}, /pgfplots/stack dir/plus/.belongs to family=/pgfplots, /pgfplots/stack dir/minus/.code={\pgfplots@stacked@plusfalse}, /pgfplots/stack dir/minus/.belongs to family=/pgfplots, /pgfplots/stack dir=plus, /pgfplots/filter discard warning/.is if=pgfplots@warn@for@filter@discards, /pgfplots/filter discard warning=true, /pgfplots/x filter/.code={}, /pgfplots/x filter/.belongs to family=/pgfplots, /pgfplots/y filter/.code={}, /pgfplots/y filter/.belongs to family=/pgfplots, /pgfplots/z filter/.code={}, /pgfplots/z filter/.belongs to family=/pgfplots, /pgfplots/filter point/.code=, /pgfplots/restrict x to domain/.style={/pgfplots/@restrict to domain={x}{}{#1}},% /pgfplots/restrict y to domain/.style={/pgfplots/@restrict to domain={y}{}{#1}},% /pgfplots/restrict z to domain/.style={/pgfplots/@restrict to domain={z}{}{#1}},% /pgfplots/restrict expr to domain/.style 2 args={/pgfplots/@restrict to domain={x}{#1}{#2}},% % '#1': the filter to install % '#2': a mathematical expression (or empty) % '#3': the interval. must be numeric currently. /pgfplots/@restrict to domain/.code args={#1#2#3}{% \edef\pgfplots@loc@TMPa{#3}% % when invoked, ##1 and ##2 will be floats: \def\pgfplots@loc@TMPb##1:##2\relax{% \pgfkeysalso{% /pgfplots/unbounded coords=jump,% /pgfplots/#1 filter/.append code={% \let\pgfplots@restrict@to@domain@orig=\pgfmathresult \def\pgfplots@restrict@to@domain@tmp{#2}% \ifx\pgfplots@restrict@to@domain@tmp\pgfutil@empty % we don't have an expression. \pgfmathfloatparsenumber{\pgfmathresult}% \else % evaluate the expression! \pgfmathparse{#2}% \fi \let\pgfplots@restrict@to@domain@tmp=\pgfmathresult \pgfmathfloatlessthan@{\pgfplots@restrict@to@domain@tmp}{##1}% ##1 is the lower argument \ifpgfmathfloatcomparison \def\pgfmathresult{inf}% \else \pgfmathfloatgreaterthan@{\pgfplots@restrict@to@domain@tmp}{##2}% \ifpgfmathfloatcomparison \def\pgfmathresult{-inf}% \else \let\pgfmathresult=\pgfplots@restrict@to@domain@orig \fi \fi }% }% }% % when invoked, ##1 and ##2 will be the user-supplied args. \def\pgfplots@loc@TMPc##1:##2\relax{% \pgfmathfloatparsenumber{##1}% \let\pgfplots@rangea=\pgfmathresult \pgfmathfloatparsenumber{##2}% \edef\pgfplots@loc@TMPc{\pgfplots@rangea:\pgfmathresult}% \expandafter\pgfplots@loc@TMPb\pgfplots@loc@TMPc\relax }% \expandafter\pgfplots@loc@TMPc\pgfplots@loc@TMPa\relax },% % -> keeps only the nth point, all other ones will get ''. /pgfplots/each nth point/.style 2 args={% /pgfplots/x filter/.append code={% \ifnum\coordindex=0 \def\c@pgfplots@eachnthpoint@xfilter{0}% \edef\c@pgfplots@eachnthpoint@xfilter@cmp{#1}% \else \pgfplotsutil@advancestringcounter\c@pgfplots@eachnthpoint@xfilter \ifx\c@pgfplots@eachnthpoint@xfilter@cmp\c@pgfplots@eachnthpoint@xfilter \def\c@pgfplots@eachnthpoint@xfilter{0}% \else \let\pgfmathresult\pgfutil@empty \fi \fi }% }, /pgfplots/skip coords between index/.style 2 args={% /pgfplots/x filter/.append code={% \ifnum\coordindex<#1\relax \else \ifnum\coordindex<#2\relax \let\pgfmathresult=\pgfutil@empty \fi \fi} }, /pgfplots/translate gnuplot/.is if=pgfplots@translategnuplot, /pgfplots/parametric/var 2d/.initial={\u,\v}, /pgfplots/parametric/var 1d/.initial=\t, /pgfplots/xfilter/.initial=,% DEPRECATED /pgfplots/yfilter/.initial=,% DEPRECATED /pgfplots/zfilter/.initial=,% DEPRECATED % interpretation: % if 'samples at'==empty && 'domain' == empty % use tikz option processing! % else if 'samples at' == empty % use 'domain' % else % use 'samples at' /pgfplots/domain/.initial=,% empty -> use value of /tikz/domain! see \pgfplots@validate@plot@domain@arguments /pgfplots/y domain/.initial=,% means: use the same as 'domain' /pgfplots/domain y/.style={/pgfplots/y domain={#1}}, /pgfplots/samples at/.initial=,% empty -> use value of /tikz/samples at! /pgfplots/samples/.initial=,% empty -> use /tikz/samples! /pgfplots/samples y/.initial=,% empty -> use the same as 'samples'. For use in mesh plots. /pgfplots/variable/.code={\pgfkeysalso{/tikz/variable={#1}}}, /pgfplots/variable y/.initial=\y,% % and provide aliases in the '/pgfplots/' tree to avoid % search path problems just for the following options: /pgfplots/name/.code={\pgfkeysalso{/tikz/name={#1}}}, /pgfplots/overlay/.code={\pgfkeysalso{/tikz/overlay={#1}}}, /pgfplots/alias/.code={\pgfkeysalso{/tikz/alias={#1}}}, /pgfplots/id/.code={\pgfkeysalso{/tikz/id={#1}}}, /pgfplots/prefix/.code={\pgfkeysalso{/tikz/prefix={#1}}}, /pgfplots/raw gnuplot/.code={\pgfkeysalso{/tikz/raw gnuplot={#1}}}, /pgfplots/parametric/.code={\pgfkeysalso{/tikz/parametric={#1}}},% % /pgfplots/width/.initial=,% /pgfplots/width/.belongs to family=/pgfplots, /pgfplots/height/.initial=,% /pgfplots/height/.belongs to family=/pgfplots, /pgfplots/execute at begin plot/.initial=, /pgfplots/execute at begin plot@@/.initial=,% an internal variant /pgfplots/execute at end plot/.initial=, /pgfplots/execute at end plot@@/.initial=,% an internal variant /pgfplots/enlarge x limits/.initial=auto, /pgfplots/enlarge x limits/.default=true, /pgfplots/enlarge y limits/.initial=auto, /pgfplots/enlarge y limits/.default=true, /pgfplots/enlarge z limits/.initial=auto, /pgfplots/enlarge z limits/.default=true, /pgfplots/enlargelimits/.style={% /pgfplots/enlarge x limits=#1,% /pgfplots/enlarge y limits=#1,% /pgfplots/enlarge z limits=#1,% },% /pgfplots/enlargelimits/.default=true, /pgfplots/x/.initial=,% is implicitly set by 'width' and/or '\axisdefaultwidth' /pgfplots/x/.belongs to family=/pgfplots, /pgfplots/y/.initial=,% is implicitly set by 'width' and/or '\axisdefaultwidth' /pgfplots/y/.belongs to family=/pgfplots, /pgfplots/z/.initial=, /pgfplots/z/.belongs to family=/pgfplots, /pgfplots/x dir/.code={\pgfplots@setkey@axisdir@for x{#1}},% /pgfplots/y dir/.code={\pgfplots@setkey@axisdir@for y{#1}},% /pgfplots/z dir/.code={\pgfplots@setkey@axisdir@for z{#1}},% /pgfplots/x dir=normal,% /pgfplots/y dir=normal,% /pgfplots/z dir=normal,% /pgfplots/allow reversal of rel axis cs/.is if=pgfplots@allow@reversal@of@rel@axis@cs,% /pgfplots/allow reversal of rel axis cs/.default=true,% /pgfplots/allow reversal of rel axis cs=true,% /pgfplots/plot box ratio/.initial={1}{1}{1},% /pgfplots/view/az/.initial=25,% /pgfplots/view/h/.code={\pgfkeyssetvalue{/pgfplots/view/az}{#1}},% /pgfplots/view/el/.initial=30,% /pgfplots/view/v/.code={\pgfkeyssetvalue{/pgfplots/view/el}{#1}},% /pgfplots/view/.style 2 args={% /pgfplots/view/az={#1},% /pgfplots/view/el={#2}% },% /pgfplots/cycle list/.code={% \pgfplots@assign@list\autoplotspeclist{#1}% \expandafter\let\csname pgfp@cyclist@auto@\endcsname=\autoplotspeclist \pgfkeyssetvalue{/pgfplots/cycle multi list/@dim}{0}% de-activate. }, /pgfplots/cycle list/.belongs to family=/pgfplots, /pgfplots/cycle list name/.code={% \pgfplotsifcyclelistexists{#1}{% \expandafter\let\expandafter\autoplotspeclist\csname pgfp@cyclist@\string#1@\endcsname \expandafter\let\csname pgfp@cyclist@auto@\endcsname=\autoplotspeclist \pgfkeyssetvalue{/pgfplots/cycle multi list/@dim}{0}% de-activate. }{% \pgfplots@error{Sorry, there is no such cycle list named \string#1. Maybe you misspelled it?}% }% }, /pgfplots/cycle list name/.belongs to family=/pgfplots, /pgfplots/cycle list name=color, % accepts arguments of the form % \nextlist \nextlist .... % where each list spec is EITHER a cycle list name OR a cycle list % argument. /pgfplots/cycle multi list/.code={\pgfplots@cycle@multi@list{#1}}, % #1: list index % #2: maximum number of elements to use /pgfplots/cycle multi list/partial sublist/.code 2 args={% \ifnum#1<\pgfkeysvalueof{/pgfplots/cycle multi list/@dim} \ifnum#2<\pgfkeysvalueof{/pgfplots/cycle multi list/@totalN#1} \pgfkeyssetvalue{/pgfplots/cycle multi list/@N#1}{#2}% \fi \else \pgfplots@error{Sorry, the first argument of `cycle multi list/partial sublist=' is no valid list index (should be less than \pgfkeysvalueof{/pgfplots/cycle multi list/@dim}).}% \fi },% /pgfplots/cycle multi list/@dim/.initial=0, %/pgfplots/cycle multi list/@list0/.style={}, %/pgfplots/cycle multi list/@N0/.initial=0,% %/pgfplots/cycle multi list/@totalN0/.initial=0,% /pgfplots/legend style/.belongs to family=/pgfplots/style commands, /pgfplots/legend style/.code={% \pgfkeysalso{/pgfplots/every axis legend/.append style={#1}}% }, /pgfplots/every forget plot/.code={},% /pgfplots/forget plot style/.style={/pgfplots/every forget plot/.append style={#1}}, /pgfplots/label style/.belongs to family=/pgfplots/style commands, /pgfplots/label style/.style={% /pgfplots/every axis x label/.append style={#1},% /pgfplots/every axis y label/.append style={#1},% /pgfplots/every axis z label/.append style={#1}% },% /pgfplots/x label style/.belongs to family=/pgfplots/style commands, /pgfplots/x label style/.code={% \pgfkeysalso{/pgfplots/every axis x label/.append style={#1}}% }, /pgfplots/y label style/.belongs to family=/pgfplots/style commands, /pgfplots/y label style/.code={% \pgfkeysalso{/pgfplots/every axis y label/.append style={#1}}% }, /pgfplots/z label style/.belongs to family=/pgfplots/style commands, /pgfplots/z label style/.code={% \pgfkeysalso{/pgfplots/every axis z label/.append style={#1}}% }, /pgfplots/title style/.belongs to family=/pgfplots/style commands, /pgfplots/title style/.code={% \pgfkeysalso{/pgfplots/every axis title/.append style={#1}}% }, /pgfplots/tick label style/.belongs to family=/pgfplots/style commands, /pgfplots/tick label style/.code={% \pgfkeysalso{/pgfplots/every tick label/.append style={#1}}% }, /pgfplots/x tick label style/.belongs to family=/pgfplots/style commands, /pgfplots/x tick label style/.code={% \pgfkeysalso{/pgfplots/every x tick label/.append style={#1}}% }, /pgfplots/y tick label style/.belongs to family=/pgfplots/style commands, /pgfplots/y tick label style/.code={% \pgfkeysalso{/pgfplots/every y tick label/.append style={#1}}% }, /pgfplots/z tick label style/.belongs to family=/pgfplots/style commands, /pgfplots/z tick label style/.code={% \pgfkeysalso{/pgfplots/every z tick label/.append style={#1}}% }, /pgfplots/x tick scale label style/.belongs to family=/pgfplots/style commands, /pgfplots/x tick scale label style/.code={% \pgfkeysalso{/pgfplots/every x tick scale label/.append style={#1}}% }, /pgfplots/y tick scale label style/.belongs to family=/pgfplots/style commands, /pgfplots/y tick scale label style/.code={% \pgfkeysalso{/pgfplots/every y tick scale label/.append style={#1}}% }, /pgfplots/z tick scale label style/.belongs to family=/pgfplots/style commands, /pgfplots/z tick scale label style/.code={% \pgfkeysalso{/pgfplots/every z tick scale label/.append style={#1}}% }, /pgfplots/tick style/.belongs to family=/pgfplots/style commands, /pgfplots/tick style/.code={% \pgfkeysalso{/pgfplots/every tick/.append style={#1}}% }, /pgfplots/minor tick style/.belongs to family=/pgfplots/style commands, /pgfplots/minor tick style/.code={% \pgfkeysalso{/pgfplots/every minor tick/.append style={#1}}% }, /pgfplots/major tick style/.belongs to family=/pgfplots/style commands, /pgfplots/major tick style/.code={% \pgfkeysalso{/pgfplots/every major tick/.append style={#1}}% }, /pgfplots/x tick style/.belongs to family=/pgfplots/style commands, /pgfplots/x tick style/.code={% \pgfkeysalso{/pgfplots/every x tick/.append style={#1}}% }, /pgfplots/minor x tick style/.belongs to family=/pgfplots/style commands, /pgfplots/minor x tick style/.code={% \pgfkeysalso{/pgfplots/every minor x tick/.append style={#1}}% }, /pgfplots/major x tick style/.belongs to family=/pgfplots/style commands, /pgfplots/major x tick style/.code={% \pgfkeysalso{/pgfplots/every major x tick/.append style={#1}}% }, /pgfplots/y tick style/.belongs to family=/pgfplots/style commands, /pgfplots/y tick style/.code={% \pgfkeysalso{/pgfplots/every y tick/.append style={#1}}% }, /pgfplots/minor y tick style/.belongs to family=/pgfplots/style commands, /pgfplots/minor y tick style/.code={% \pgfkeysalso{/pgfplots/every minor y tick/.append style={#1}}% }, /pgfplots/major y tick style/.belongs to family=/pgfplots/style commands, /pgfplots/major y tick style/.code={% \pgfkeysalso{/pgfplots/every major y tick/.append style={#1}}% }, /pgfplots/z tick style/.belongs to family=/pgfplots/style commands, /pgfplots/z tick style/.code={% \pgfkeysalso{/pgfplots/every z tick/.append style={#1}}% }, /pgfplots/minor z tick style/.belongs to family=/pgfplots/style commands, /pgfplots/minor z tick style/.code={% \pgfkeysalso{/pgfplots/every minor z tick/.append style={#1}}% }, /pgfplots/major z tick style/.belongs to family=/pgfplots/style commands, /pgfplots/major z tick style/.code={% \pgfkeysalso{/pgfplots/every major z tick/.append style={#1}}% }, /pgfplots/grid style/.belongs to family=/pgfplots/style commands, /pgfplots/grid style/.code={% \pgfkeysalso{/pgfplots/every axis grid/.append style={#1}}% }, /pgfplots/minor grid style/.belongs to family=/pgfplots/style commands, /pgfplots/minor grid style/.code={% \pgfkeysalso{/pgfplots/every minor grid/.append style={#1}}% }, /pgfplots/major grid style/.belongs to family=/pgfplots/style commands, /pgfplots/major grid style/.code={% \pgfkeysalso{/pgfplots/every major grid/.append style={#1}}% }, /pgfplots/x grid style/.belongs to family=/pgfplots/style commands, /pgfplots/x grid style/.code={% \pgfkeysalso{/pgfplots/every axis x grid/.append style={#1}}% }, /pgfplots/minor x grid style/.belongs to family=/pgfplots/style commands, /pgfplots/minor x grid style/.code={% \pgfkeysalso{/pgfplots/every minor x grid/.append style={#1}}% }, /pgfplots/major x grid style/.belongs to family=/pgfplots/style commands, /pgfplots/major x grid style/.code={% \pgfkeysalso{/pgfplots/every major x grid/.append style={#1}}% }, /pgfplots/y grid style/.belongs to family=/pgfplots/style commands, /pgfplots/y grid style/.code={% \pgfkeysalso{/pgfplots/every axis y grid/.append style={#1}}% }, /pgfplots/minor y grid style/.belongs to family=/pgfplots/style commands, /pgfplots/minor y grid style/.code={% \pgfkeysalso{/pgfplots/every minor y grid/.append style={#1}}% }, /pgfplots/major y grid style/.belongs to family=/pgfplots/style commands, /pgfplots/major y grid style/.code={% \pgfkeysalso{/pgfplots/every major y grid/.append style={#1}}% }, /pgfplots/y grid style/.belongs to family=/pgfplots/style commands, /pgfplots/y grid style/.code={% \pgfkeysalso{/pgfplots/every axis z grid/.append style={#1}}% }, /pgfplots/minor z grid style/.belongs to family=/pgfplots/style commands, /pgfplots/minor z grid style/.code={% \pgfkeysalso{/pgfplots/every minor z grid/.append style={#1}}% }, /pgfplots/major z grid style/.belongs to family=/pgfplots/style commands, /pgfplots/major z grid style/.code={% \pgfkeysalso{/pgfplots/every major z grid/.append style={#1}}% }, /pgfplots/disablelogfilter x/.is if=pgfplots@disablelogfilter@x, /pgfplots/disablelogfilter x/.default=true, /pgfplots/disablelogfilter y/.is if=pgfplots@disablelogfilter@y, /pgfplots/disablelogfilter y/.default=true, /pgfplots/disablelogfilter z/.is if=pgfplots@disablelogfilter@z, /pgfplots/disablelogfilter z/.default=true, /pgfplots/disablelogfilter/.style={ /pgfplots/disablelogfilter x=#1, /pgfplots/disablelogfilter y=#1, /pgfplots/disablelogfilter z=#1, }, /pgfplots/disabledatascaling/.is if=pgfplots@disabledatascaling, /pgfplots/disabledatascaling/.default=true, /pgfplots/disabledatascaling/.belongs to family=/pgfplots, /pgfplots/disabledatascaling=false, /pgfplots/hide x axis/.is if=pgfplots@hide@x, /pgfplots/hide x axis/.default=true, /pgfplots/hide x axis=false, /pgfplots/hide y axis/.is if=pgfplots@hide@y, /pgfplots/hide y axis/.default=true, /pgfplots/hide y axis=false, /pgfplots/hide z axis/.is if=pgfplots@hide@z, /pgfplots/hide z axis/.default=true, /pgfplots/hide z axis=false, /pgfplots/hide axis/.style={% /pgfplots/hide x axis=#1, /pgfplots/hide y axis=#1, /pgfplots/hide z axis=#1, }, /pgfplots/hide axis/.default=true, /pgfplots/every non boxed x axis/.style={% xtick align=center, enlarge x limits=false, x axis line style={-stealth} }, /pgfplots/every non boxed y axis/.style={% ytick align=center, enlarge y limits=false, y axis line style={-stealth} }, /pgfplots/every non boxed z axis/.style={% ztick align=center, enlarge z limits=false, z axis line style={-stealth} }, /pgfplots/every boxed x axis/.style={}, /pgfplots/every boxed y axis/.style={}, /pgfplots/every boxed z axis/.style={}, % /pgfplots/hide axis/.belongs to family=/pgfplots, % sets \pgfplots@xaxislinesnum to % box=0 % bottom=1 % middle=2 ( aliased with center ) % top=3 /pgfplots/axis x line*/.is choice, /pgfplots/axis x line*/box/.code ={\def\pgfplots@xaxislinesnum{0}\def\pgfplots@xtickposnum{0}}, /pgfplots/axis x line*/bottom/.code ={\def\pgfplots@xaxislinesnum{1}\def\pgfplots@xtickposnum{1}\let\pgfplots@xticklabel@pos\pgfutil@empty}, /pgfplots/axis x line*/left/.style={/pgfplots/axis x line*/bottom}, /pgfplots/axis x line*/middle/.code ={\def\pgfplots@xaxislinesnum{2}\def\pgfplots@xtickposnum{2}\let\pgfplots@xticklabel@pos\pgfutil@empty}, /pgfplots/axis x line*/center/.style ={/pgfplots/axis x line*/middle}, /pgfplots/axis x line*/top/.code ={\def\pgfplots@xaxislinesnum{3}\def\pgfplots@xtickposnum{3}\let\pgfplots@xticklabel@pos\pgfutil@empty}, /pgfplots/axis x line*/right/.style={/pgfplots/axis x line*/top}, /pgfplots/axis x line*/none/.code ={\def\pgfplots@xaxislinesnum{4}\def\pgfplots@xtickposnum{4}\let\pgfplots@xticklabel@pos\pgfutil@empty}, /pgfplots/axis x line*=box, % /pgfplots/axis x line/.is choice, /pgfplots/axis x line/box/.style ={ /pgfplots/axis x line*/box, /pgfplots/every boxed x axis }, /pgfplots/axis x line/bottom/.style ={ /pgfplots/axis x line*/bottom, /pgfplots/every non boxed x axis }, /pgfplots/axis x line/left/.style={/pgfplots/axis x line/bottom},% /pgfplots/axis x line/middle/.code ={% \ifnum\pgfplots@yaxislinesnum=3 % if 'axis y line==right' then \pgfkeysalso{/pgfplots/every axis x label/.style={at={(current axis.left of origin)},anchor=south west}}% \else \pgfkeysalso{/pgfplots/every axis x label/.style={at={(current axis.right of origin)},anchor=south east}}% \fi \pgfkeysalso{/pgfplots/axis x line*/middle, /pgfplots/every non boxed x axis}% }, /pgfplots/axis x line/center/.style ={/pgfplots/axis x line/middle}, /pgfplots/axis x line/right/.style={/pgfplots/axis x line/top},% /pgfplots/axis x line/top/.code ={ \ifnum\pgfplots@yaxislinesnum=2 % if 'axis y line==center' then \pgfkeysalso{ /pgfplots/every axis y label/.style={at={(current axis.below origin)},anchor=south west}}% \fi \pgfkeysalso{% /pgfplots/axis x line*/top, /pgfplots/every axis x label/.style={at={(0.5,1)},anchor=south,yshift=15pt}, /pgfplots/every non boxed x axis}% }, /pgfplots/axis x line/none/.style ={axis x line*/none,hide x axis}, % sets \pgfplots@yaxislinesnum to % box=0 % left=1 % center=2 ( aliased with middle ) % right=3 /pgfplots/axis y line*/.is choice, /pgfplots/axis y line*/box/.code ={\def\pgfplots@yaxislinesnum{0}\def\pgfplots@ytickposnum{0}}, /pgfplots/axis y line*/left/.code ={\def\pgfplots@yaxislinesnum{1}\def\pgfplots@ytickposnum{1}\let\pgfplots@yticklabel@pos\pgfutil@empty}, /pgfplots/axis y line*/center/.code ={\def\pgfplots@yaxislinesnum{2}\def\pgfplots@ytickposnum{2}\let\pgfplots@yticklabel@pos\pgfutil@empty}, /pgfplots/axis y line*/middle/.style ={/pgfplots/axis y line*/center}, /pgfplots/axis y line*/right/.code ={\def\pgfplots@yaxislinesnum{3}\def\pgfplots@ytickposnum{3}\let\pgfplots@yticklabel@pos\pgfutil@empty}, /pgfplots/axis y line*/none/.code ={\def\pgfplots@yaxislinesnum{4}\def\pgfplots@ytickposnum{4}\let\pgfplots@yticklabel@pos\pgfutil@empty}, /pgfplots/axis y line*=box, % /pgfplots/axis y line/.is choice, /pgfplots/axis y line/box/.style ={ /pgfplots/axis y line*/box, /pgfplots/every boxed y axis }, /pgfplots/axis y line/left/.style ={ /pgfplots/axis y line*/left, /pgfplots/every non boxed y axis }, /pgfplots/axis y line/center/.code ={ \ifnum\pgfplots@xaxislinesnum=3 % if 'axis x line==top' then \pgfkeysalso{% /pgfplots/every axis y label/.style={at={(current axis.below origin)},anchor=south west}}% \else \pgfkeysalso{% /pgfplots/every axis y label/.style={at={(current axis.above origin)},anchor=north west}}% \fi \pgfkeysalso{% /pgfplots/axis y line*/center, /pgfplots/every non boxed y axis}% }, /pgfplots/axis y line/middle/.style ={/pgfplots/axis y line/center}, /pgfplots/axis y line/right/.code ={% \ifnum\pgfplots@xaxislinesnum=2 \pgfkeysalso{every axis x label/.style={at={(current axis.left of origin)},anchor=south west}}% \fi \pgfkeysalso{ axis y line*/right, %every axis y label/.style={at={(1,1)},anchor=north west,xshift=15pt}, % FIXME : DEPRECATED !? USE 'near tick' things .... every axis y label/.style={at={(1,0.5)},xshift=33pt,rotate=90}, /pgfplots/every non boxed y axis }% },% /pgfplots/axis y line/none/.style ={axis y line*/none,hide y axis}, % % sets \pgfplots@zaxislinesnum to % box=0 % left=1 % center=2 ( aliased with middle ) % right=3 /pgfplots/axis z line*/.is choice, /pgfplots/axis z line*/box/.code ={\def\pgfplots@zaxislinesnum{0}\def\pgfplots@ztickposnum{0}}, /pgfplots/axis z line*/left/.code ={\def\pgfplots@zaxislinesnum{1}\def\pgfplots@ztickposnum{1}\let\pgfplots@zticklabel@pos\pgfutil@empty}, /pgfplots/axis z line*/center/.code ={\def\pgfplots@zaxislinesnum{2}\def\pgfplots@ztickposnum{2}\let\pgfplots@zticklabel@pos\pgfutil@empty}, /pgfplots/axis z line*/middle/.style ={/pgfplots/axis z line*/center}, /pgfplots/axis z line*/right/.code ={\def\pgfplots@zaxislinesnum{3}\def\pgfplots@ztickposnum{3}\let\pgfplots@zticklabel@pos\pgfutil@empty}, /pgfplots/axis z line*/none/.code ={\def\pgfplots@zaxislinesnum{4}\def\pgfplots@ztickposnum{4}\let\pgfplots@zticklabel@pos\pgfutil@empty}, /pgfplots/axis z line*=box, % /pgfplots/axis z line/.is choice, /pgfplots/axis z line/box/.style ={ /pgfplots/axis z line*/box, /pgfplots/every boxed z axis }, /pgfplots/axis z line/left/.style ={ /pgfplots/axis z line*/left, /pgfplots/every non boxed z axis }, /pgfplots/axis z line/center/.code ={ % \ifnum\pgfplots@xaxislinesnum=3 % if 'axis x line==top' then % \pgfkeysalso{% % /pgfplots/every axis z label/.style={at={(current axis.below origin)},anchor=south west}}% % \else \pgfkeysalso{% /pgfplots/every axis z label/.style={at={(current axis.above origin)},anchor=north west}}% % \fi \pgfkeysalso{% /pgfplots/axis z line*/center, /pgfplots/every non boxed z axis}% }, /pgfplots/axis z line/middle/.style ={/pgfplots/axis z line/center}, /pgfplots/axis z line/right/.code ={% \ifnum\pgfplots@xaxislinesnum=2 \pgfkeysalso{every axis x label/.style={at={(current axis.left of origin)},anchor=south west}}% \fi \pgfkeysalso{ axis z line*/right, %every axis y label/.style={at={(1,1)},anchor=north west,xshift=15pt}, every axis z label/.style={at={(1,0.5)},xshift=33pt,rotate=90}, /pgfplots/every non boxed z axis }% },% /pgfplots/axis z line/none/.style ={axis z line*/none,hide z axis}, /pgfplots/axis lines/.style={% axis x line=#1,% axis y line=#1,% axis z line=#1% }, /pgfplots/axis lines*/.style={% axis x line*=#1,% axis y line*=#1,% axis z line*=#1% }, /pgfplots/3d box/.is choice, /pgfplots/3d box/background/.code ={\def\pgfplots@threedimbox@choice{0}},% /pgfplots/3d box/complete/.code ={\def\pgfplots@threedimbox@choice{1}},% /pgfplots/3d box/complete*/.code ={\def\pgfplots@threedimbox@choice{2}},% /pgfplots/3d box/.default=complete,% /pgfplots/3d box/background,% /pgfplots/every 3d box foreground/.style={}, /pgfplots/3d box foreground style/.style={% /pgfplots/every 3d box foreground/.append style={#1}% }, % set \pgfplots@xaxisdiscontnum % none = 0 % crunch = 1 % open = 2 /pgfplots/axis x discontinuity/.is choice, /pgfplots/axis x discontinuity/.belongs to family=/pgfplots, %/axis, /pgfplots/axis x discontinuity/none/.code ={\def\pgfplots@xaxisdiscontnum{0}}, /pgfplots/axis x discontinuity/none/.belongs to family=/pgfplots, %/axis, /pgfplots/axis x discontinuity/crunch/.code ={\def\pgfplots@xaxisdiscontnum{1}}, /pgfplots/axis x discontinuity/crunch/.belongs to family=/pgfplots, %/axis, /pgfplots/axis x discontinuity/parallel/.code ={\def\pgfplots@xaxisdiscontnum{2}}, /pgfplots/axis x discontinuity/parallel/.belongs to family=/pgfplots, %/axis, /pgfplots/axis x discontinuity=none, % set \pgfplots@yaxisdiscontnum % none = 0 % crunch = 1 % open = 2 /pgfplots/axis y discontinuity/.is choice, /pgfplots/axis y discontinuity/.belongs to family=/pgfplots, %/axis, /pgfplots/axis y discontinuity/none/.code ={\def\pgfplots@yaxisdiscontnum{0}}, /pgfplots/axis y discontinuity/none/.belongs to family=/pgfplots, %/axis, /pgfplots/axis y discontinuity/crunch/.code ={\def\pgfplots@yaxisdiscontnum{1}}, /pgfplots/axis y discontinuity/crunch/.belongs to family=/pgfplots, %/axis, /pgfplots/axis y discontinuity/parallel/.code ={\def\pgfplots@yaxisdiscontnum{2}}, /pgfplots/axis y discontinuity/parallel/.belongs to family=/pgfplots, %/axis, /pgfplots/axis y discontinuity=none, % set \pgfplots@yaxisdiscontnum % none = 0 % crunch = 1 % open = 2 /pgfplots/axis z discontinuity/.is choice, /pgfplots/axis z discontinuity/.belongs to family=/pgfplots, %/axis, /pgfplots/axis z discontinuity/none/.code ={\def\pgfplots@zaxisdiscontnum{0}}, /pgfplots/axis z discontinuity/none/.belongs to family=/pgfplots, %/axis, /pgfplots/axis z discontinuity/crunch/.code ={\def\pgfplots@zaxisdiscontnum{1}}, /pgfplots/axis z discontinuity/crunch/.belongs to family=/pgfplots, %/axis, /pgfplots/axis z discontinuity/parallel/.code ={\def\pgfplots@zaxisdiscontnum{2}}, /pgfplots/axis z discontinuity/parallel/.belongs to family=/pgfplots, %/axis, /pgfplots/axis z discontinuity=none, /pgfplots/scale only axis/.is if=pgfplots@scale@only@axis, /pgfplots/scale only axis/.default=true, /pgfplots/scale only axis/.belongs to family=/pgfplots, /pgfplots/scale only axis=false, % sets \pgfplots@xislinear to % normal=true % log=false /pgfplots/xmode/.is choice, /pgfplots/xmode/.belongs to family=/pgfplots/scale, /pgfplots/xmode/normal/.code={\pgfplots@xislineartrue}, /pgfplots/xmode/normal/.belongs to family=/pgfplots/scale, /pgfplots/xmode/linear/.code={\pgfplots@xislineartrue}, /pgfplots/xmode/linear/.belongs to family=/pgfplots/scale, /pgfplots/xmode/log/.code={\pgfplots@xislinearfalse}, /pgfplots/xmode/log/.belongs to family=/pgfplots/scale, /pgfplots/xmode=linear, /pgfplots/ymode/.is choice, /pgfplots/ymode/.belongs to family=/pgfplots/scale, /pgfplots/ymode/normal/.code={\pgfplots@yislineartrue}, /pgfplots/ymode/normal/.belongs to family=/pgfplots/scale, /pgfplots/ymode/linear/.code={\pgfplots@yislineartrue}, /pgfplots/ymode/linear/.belongs to family=/pgfplots/scale, /pgfplots/ymode/log/.code={\pgfplots@yislinearfalse}, /pgfplots/ymode/log/.belongs to family=/pgfplots/scale, /pgfplots/ymode=linear, /pgfplots/zmode/.is choice, /pgfplots/zmode/.belongs to family=/pgfplots/scale, /pgfplots/zmode/normal/.code={\pgfplots@zislineartrue}, /pgfplots/zmode/normal/.belongs to family=/pgfplots/scale, /pgfplots/zmode/linear/.code={\pgfplots@zislineartrue}, /pgfplots/zmode/linear/.belongs to family=/pgfplots/scale, /pgfplots/zmode/log/.code={\pgfplots@zislinearfalse}, /pgfplots/zmode/log/.belongs to family=/pgfplots/scale, /pgfplots/zmode=linear, /pgfplots/error bars/x fixed/.code= \def\pgfplots@errorbars@xfixed{#1}\def\pgfplots@errorbars@xmode{0}, /pgfplots/error bars/x fixed relative/.code= \def\pgfplots@errorbars@xrel{#1}\def\pgfplots@errorbars@xmode{1}, /pgfplots/error bars/x explicit/.code= \def\pgfplots@errorbars@xmode{2}, /pgfplots/error bars/x explicit relative/.code= \def\pgfplots@errorbars@xmode{3}, /pgfplots/error bars/x fixed relative=0, /pgfplots/error bars/x fixed=0, /pgfplots/error bars/y fixed/.code= \def\pgfplots@errorbars@yfixed{#1}\def\pgfplots@errorbars@ymode{0}, /pgfplots/error bars/y fixed relative/.code= \def\pgfplots@errorbars@yrel{#1}\def\pgfplots@errorbars@ymode{1}, /pgfplots/error bars/y explicit/.code= \def\pgfplots@errorbars@ymode{2}, /pgfplots/error bars/y explicit relative/.code= \def\pgfplots@errorbars@ymode{3}, /pgfplots/error bars/y fixed relative=0, /pgfplots/error bars/y fixed=0, /pgfplots/error bars/z fixed/.code= \def\pgfplots@errorbars@zfixed{#1}\def\pgfplots@errorbars@zmode{0}, /pgfplots/error bars/z fixed relative/.code= \def\pgfplots@errorbars@zrel{#1}\def\pgfplots@errorbars@zmode{1}, /pgfplots/error bars/z explicit/.code= \def\pgfplots@errorbars@zmode{2}, /pgfplots/error bars/z explicit relative/.code= \def\pgfplots@errorbars@zmode{3}, /pgfplots/error bars/z fixed relative=0, /pgfplots/error bars/z fixed=0, /pgfplots/error bars/x dir/.is choice, /pgfplots/error bars/x dir/none/.code={% \def\pgfplots@errorbars@xdirection{0}% \ifnum\pgfplots@errorbars@ydirection=0 \ifnum\pgfplots@errorbars@zdirection=0 \pgfplots@errorbars@enabledfalse \fi \fi }, /pgfplots/error bars/x dir/plus/.code= \def\pgfplots@errorbars@xdirection{1}\pgfplots@errorbars@enabledtrue, /pgfplots/error bars/x dir/minus/.code= \def\pgfplots@errorbars@xdirection{2}\pgfplots@errorbars@enabledtrue, /pgfplots/error bars/x dir/both/.code= \def\pgfplots@errorbars@xdirection{3}\pgfplots@errorbars@enabledtrue, /pgfplots/error bars/x dir=none, /pgfplots/error bars/y dir/.is choice, /pgfplots/error bars/y dir/none/.code={% \def\pgfplots@errorbars@ydirection{0}% \ifnum\pgfplots@errorbars@xdirection=0 \ifnum\pgfplots@errorbars@zdirection=0 \pgfplots@errorbars@enabledfalse \fi \fi }, /pgfplots/error bars/y dir/plus/.code= \def\pgfplots@errorbars@ydirection{1}\pgfplots@errorbars@enabledtrue, /pgfplots/error bars/y dir/minus/.code= \def\pgfplots@errorbars@ydirection{2}\pgfplots@errorbars@enabledtrue, /pgfplots/error bars/y dir/both/.code= \def\pgfplots@errorbars@ydirection{3}\pgfplots@errorbars@enabledtrue, /pgfplots/error bars/y dir=none, /pgfplots/error bars/z dir/.is choice, /pgfplots/error bars/z dir/none/.code={% \def\pgfplots@errorbars@zdirection{0}% \ifnum\pgfplots@errorbars@xdirection=0 \ifnum\pgfplots@errorbars@ydirection=0 \pgfplots@errorbars@enabledfalse \fi \fi }, /pgfplots/error bars/z dir/plus/.code= \def\pgfplots@errorbars@zdirection{1}\pgfplots@errorbars@enabledtrue, /pgfplots/error bars/z dir/minus/.code= \def\pgfplots@errorbars@zdirection{2}\pgfplots@errorbars@enabledtrue, /pgfplots/error bars/z dir/both/.code= \def\pgfplots@errorbars@zdirection{3}\pgfplots@errorbars@enabledtrue, /pgfplots/error bars/z dir=none, /pgfplots/error bars/error mark/.initial={-}, /pgfplots/error bars/error mark options/.initial={rotate=90}, /pgfplots/error bars/error bar style/.code={% \pgfkeysalso{/pgfplots/every error bar/.append style={#1}}% }, /pgfplots/every error bar/.style={thin}, /pgfplots/every error bar/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every error bar}}, /pgfplots/error bars/draw error bar/.code 2 args={% %\message{/pgfplots/error bars/draw error bar: working with '#1' -- '#2'.}% \pgfkeysgetvalue{/pgfplots/error bars/error mark}{\pgfplotserrorbarsmark}% \pgfkeysgetvalue{/pgfplots/error bars/error mark options}{\pgfplotserrorbarsmarkopts}% \draw #1 -- #2 node[pos=1,sloped,allow upside down] {% \expandafter\tikz\expandafter[\pgfplotserrorbarsmarkopts]{% \expandafter\pgfuseplotmark\expandafter{\pgfplotserrorbarsmark}% \pgfusepath{stroke}}% }; }, /pgfplots/every node near coord/.style={}, % values: 'horizontal', 'vertical' or any tikz alignment command % like 'left' or 'anchor=south west' or so. /pgfplots/nodes near coords align/.initial=auto,% % % 'nodes near coords='. % The content is by default \pgfmathprintnumber\pgfplotspointmeta. % % Use 'point meta=y' after 'nodes near coords' to typeset the y coordinates % Use 'point meta=x' to typeset the x coordinates /pgfplots/nodes near coords/.style={% /pgfplots/scatter/@pre marker code/.code={},% /pgfplots/scatter/@post marker code/.code={},% /pgfplots/nodes near coords*={#1},% },% /pgfplots/nodes near coords*/.style={% /pgfplots/scatter/true*,% /pgfplots/set point meta if empty=f(x),% scatter/@post marker code/.append code={% % determine default alignment: \pgfkeysgetvalue{/pgfplots/nodes near coords align}{\pgfplots@nodes@near@coords@align}% \edef\pgfplots@nodes@near@coords@align{\pgfplots@nodes@near@coords@align}% \def\pgfplots@loc@TMPa{auto}% \ifx\pgfplots@nodes@near@coords@align\pgfplots@loc@TMPa \ifx\pgfplotspointmetainputhandler x% % point meta=x: \def\pgfplots@nodes@near@coords@align{horizontal}% \else \def\pgfplots@nodes@near@coords@align{vertical}% \fi \fi % check for sign-dependand alignment options: \def\pgfplots@loc@TMPa{horizontal}% \ifx\pgfplots@nodes@near@coords@align\pgfplots@loc@TMPa \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname% \def\pgfplots@nodes@near@coords@align{above}% \else \pgfmathfloatifflags{\pgfplotspointmeta}{2}{% % \pgfplotspointmeta < 0 \def\pgfplots@nodes@near@coords@align{left}% }{% % \pgfplotspointmeta >= 0 \def\pgfplots@nodes@near@coords@align{right}% }% \fi \else \def\pgfplots@loc@TMPa{vertical}% \ifx\pgfplots@nodes@near@coords@align\pgfplots@loc@TMPa \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname% \def\pgfplots@nodes@near@coords@align{above}% \else \pgfmathfloatifflags{\pgfplotspointmeta}{2}{% % \pgfplotspointmeta < 0 \def\pgfplots@nodes@near@coords@align{below}% }{% % \pgfplotspointmeta >= 0 \def\pgfplots@nodes@near@coords@align{above}% }% \fi \fi \fi % ok, place the node. \expandafter\node\expandafter[\pgfplots@nodes@near@coords@align,% /pgfplots/every node near coord] at (0pt,0pt) {% \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname% % point meta=explicit symbolic % do no try to invoke \pgfmathprintnumber on % symbolic data... this check should keep the user % interface simpler. \def\pgfplots@loc@TMPa{\pgfmathprintnumber\pgfplotspointmeta}% \def\pgfplots@loc@TMPb{#1}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \pgfplotspointmeta \else #1% \fi \else #1% \fi }; },% },% /pgfplots/nodes near coords*/.default={\pgfmathprintnumber\pgfplotspointmeta}, /pgfplots/bar cycle list/.style={/pgfplots/cycle list={% {blue,fill=blue!30!white,mark=none},% {red,fill=red!30!white,mark=none},% {brown!60!black,fill=brown!30!white,mark=none},% {black,fill=gray,mark=none},% } }, /pgfplots/area cycle list/.style={bar cycle list}, /pgfplots/area legend/.style={% /pgfplots/legend image code/.code={% \draw[##1] (0cm,-0.1cm) rectangle (0.6cm,0.1cm); }% }, /pgfplots/area style/.style={% area cycle list, area legend, axis on top, }, /pgfplots/ybar legend/.style={ /pgfplots/legend image code/.code={\draw[##1,/tikz/.cd,bar width=3pt,yshift=-0.2em,bar shift=0pt] plot coordinates {(0cm,0.8em) (2*\pgfplotbarwidth,0.6em)};}, }, /pgfplots/ybar/.style={ bar cycle list, xtick align=outside, ybar legend, /pgfplots/set point meta if empty=f(x),% /pgf/bar shift={% % total width = n*w + (n-1)*skip % -> subtract half for centering -0.5*(\numplots*\pgfplotbarwidth + (\numplots-1)*#1) + % the '0.5*w' is for centering (.5+\plotnum)*\pgfplotbarwidth + \plotnum*#1},% /pgfplots/error bars/draw error bar/.code 2 args={% % FIXME: simplify this code! It is just a replication of the default error stuff together with an xshift! \pgfkeysgetvalue{/pgfplots/error bars/error mark}{\pgfplotserrorbarsmark}% \pgfkeysgetvalue{/pgfplots/error bars/error mark options}{\pgfplotserrorbarsmarkopts}% \draw[xshift={\pgfkeysvalueof{/pgf/bar shift}}] ##1 -- ##2 node[pos=1,sloped,allow upside down] {% \expandafter\tikz\expandafter[\pgfplotserrorbarsmarkopts]{% \expandafter\pgfuseplotmark\expandafter{\pgfplotserrorbarsmark}% \pgfusepath{stroke}}% }; },% /pgfplots/every node near coord/.append style={xshift={\pgfkeysvalueof{/pgf/bar shift}}},% /tikz/ybar, }, /pgfplots/ybar/.default=2pt, /pgfplots/ybar/.belongs to family=/pgfplots, /pgfplots/xbar legend/.style={ /pgfplots/legend image code/.code={\draw[##1,/tikz/.cd,bar width=3pt,yshift=-0.2em,bar shift=0pt] plot coordinates {(0cm,0.8em) (2*\pgfplotbarwidth,0.6em)};}, }, /pgfplots/xbar/.style={ bar cycle list, ytick align=outside, /pgfplots/xbar legend, /pgfplots/set point meta if empty=x,% /pgf/bar shift={% % total width = n*w + (n-1)*skip % -> subtract half for centering -0.5*(\numplots*\pgfplotbarwidth + (\numplots-1)*#1) + % the '0.5*w' is for centering (.5+\plotnum)*\pgfplotbarwidth + \plotnum*#1},% /pgfplots/error bars/draw error bar/.code 2 args={% % FIXME: simplify this code! It is just a replication of the default error stuff together with an xshift! \pgfkeysgetvalue{/pgfplots/error bars/error mark}{\pgfplotserrorbarsmark}% \pgfkeysgetvalue{/pgfplots/error bars/error mark options}{\pgfplotserrorbarsmarkopts}% \draw[yshift={\pgfkeysvalueof{/pgf/bar shift}}] ##1 -- ##2 node[pos=1,sloped,allow upside down] {% \expandafter\tikz\expandafter[\pgfplotserrorbarsmarkopts]{% \expandafter\pgfuseplotmark\expandafter{\pgfplotserrorbarsmark}% \pgfusepath{stroke}}% }; },% /pgfplots/every node near coord/.append style={yshift={\pgfkeysvalueof{/pgf/bar shift}}},% /tikz/xbar, }, /pgfplots/xbar/.default=2pt, /pgfplots/xbar/.belongs to family=/pgfplots, /pgfplots/ybar interval legend/.style={ /pgfplots/legend image code/.code={\draw[##1,/tikz/.cd,yshift=-0.2em,bar interval width=0.7,bar interval shift=0.5] plot coordinates {(0cm,0.8em) (5pt,0.6em) (10pt,0.6em)};}, }, /pgfplots/ybar interval/.style={% /pgfplots/set point meta if empty=f(x),% bar cycle list, x tick label as interval, xmajorgrids, xtick align=outside, xtick=data, ybar interval legend, bar interval width={#1/\numplots}, bar interval shift={(\plotnum+0.5)/\numplots}, /tikz/ybar interval, }, /pgfplots/ybar interval/.default=1, /pgfplots/ybar interval/.belongs to family=/pgfplots, /pgfplots/xbar interval legend/.style={% /pgfplots/legend image code/.code={\draw[##1,/tikz/.cd,yshift=-0.2em,bar interval width=0.7,bar interval shift=0.5] plot coordinates {(0cm,0.8em) (5pt,0.6em) (10pt,0.6em)};}, }, /pgfplots/xbar interval/.style={% /pgfplots/set point meta if empty=x,% bar cycle list, y tick label as interval, ytick=data, ymajorgrids, ytick align=outside, xbar interval legend, bar interval width={#1/\numplots}, bar interval shift={(\plotnum+0.5)/\numplots}, /tikz/xbar interval, }, /pgfplots/xbar interval/.default=1, /pgfplots/xbar interval/.belongs to family=/pgfplots, /pgfplots/xbar stacked/.style={ /pgfplots/set point meta if empty=x,% bar cycle list, stack plots=x, stack dir=#1, /tikz/xbar, }, /pgfplots/xbar stacked/.default=plus, /pgfplots/xbar stacked/.belongs to family=/pgfplots, /pgfplots/ybar stacked/.style={ /pgfplots/set point meta if empty=f(x),% bar cycle list, stack plots=y, stack dir=#1, /tikz/ybar, }, /pgfplots/ybar stacked/.default=plus, /pgfplots/ybar stacked/.belongs to family=/pgfplots, /pgfplots/xbar interval stacked/.style={ /pgfplots/set point meta if empty=x,% bar cycle list, stack plots=x, stack dir=#1, /tikz/xbar interval, }, /pgfplots/xbar interval stacked/.default=plus, /pgfplots/xbar interval stacked/.belongs to family=/pgfplots, /pgfplots/ybar interval stacked/.style={ /pgfplots/set point meta if empty=f(x),% bar cycle list, stack plots=y, stack dir=#1, /tikz/ybar interval, }, /pgfplots/ybar interval stacked/.default=plus, /pgfplots/ybar interval stacked/.belongs to family=/pgfplots, /pgfplots/yticklabel interval boundaries/.style={% y tick label as interval, yticklabel={$\pgfmathprintnumber{\tick}$ -- $\pgfmathprintnumber{\nexttick}$} }, /pgfplots/xticklabel interval boundaries/.style={% x tick label as interval, xticklabel={$\pgfmathprintnumber{\tick}$ -- $\pgfmathprintnumber{\nexttick}$} }, /pgfplots/plot file/skip first/.is if=pgfplots@plot@file@skipfirst, /pgfplots/plot file/skip first/.default=true, /pgfplots/plot file/ignore first/.style={/pgfplots/plot file/skip first={#1}}, /pgfplots/plot file/.search also=/pgfplots,% /pgfplots/plot coordinates/math parser/.is if=pgfplots@plot@coords@mathparser, /pgfplots/plot graphics/.code={\let\tikz@plot@handler=\pgfplotsplothandlergraphics},% /pgfplots/plot graphics/src/.initial=, /pgfplots/plot graphics/includegraphics/.initial=, /pgfplots/plot graphics/xmin/.initial=, /pgfplots/plot graphics/xmax/.initial=, /pgfplots/plot graphics/ymin/.initial=, /pgfplots/plot graphics/ymax/.initial=, /pgfplots/plot graphics/zmin/.initial=, /pgfplots/plot graphics/zmax/.initial=, /pgfplots/plot graphics/lowlevel draw/.code 2 args={% \pgfplots@plot@handler@graphics@DRAW{#1}{#2}% },% /pgfplots/plot graphics/node/.style={ transform shape, inner sep=0pt, outer sep=0pt, every node/.style={}, anchor=south west, at={(0pt,0pt)}, rectangle }, % 'mesh' plots. % The macro \pgfplots@meshmode is % n if meshmode == false, % m if meshmode == 'mesh', % s if meshmode == 'surf'. % % The type of surface plot can be configured with 'shader'. /pgfplots/mesh/.is choice, /pgfplots/mesh/true/.code={% \def\pgfplots@meshmode{m}% \let\tikz@plot@handler=\pgfplotsplothandlermesh \pgfkeysalso{/pgfplots/set point meta if empty=f(x),/pgfplots/every mesh,/pgfplots/mesh legend,/tikz/color=mapped color}% }, /pgfplots/mesh/false/.code={ \def\pgfplots@meshmode{n}% \ifx\tikz@plot@handler\pgfplotsplothandlermesh \let\tikz@plot@handler=\pgfplothandlerlineto \fi}, /pgfplots/mesh/.default=true, /pgfplots/surf/.code={% \pgfkeysalso{/pgfplots/mesh=#1}% \def\pgfplots@meshmode{s}% },% /pgfplots/mesh/rows/.initial=, /pgfplots/mesh/cols/.initial=, /pgfplots/mesh/scanline verbose/.is if=pgfplots@scanline@verbose,% /pgfplots/mesh/scanline verbose/.default=true, /pgfplots/mesh/check/.code={% \pgfplotsutilifstringequal{#1}{false}{% \def\pgfplots@mesh@checkmode{0}% }{% \pgfplotsutilifstringequal{#1}{warning}{% \def\pgfplots@mesh@checkmode{1}% }{% \pgfplotsutilifstringequal{#1}{error}{% \def\pgfplots@mesh@checkmode{2}% }{% \pgfplots@error{Invalid value `#1' for /pgfplots/mesh/check. Please use one of false,warning,error}% }% }% }% },% /pgfplots/mesh/check=error, /pgfplots/mesh/ordering/.is choice, /pgfplots/mesh/ordering/x varies/.code={\def\pgfplots@plot@mesh@ordering{0}}, /pgfplots/mesh/ordering/y varies/.code={\def\pgfplots@plot@mesh@ordering{1}}, /pgfplots/mesh/ordering/rowwise/.style={/pgfplots/mesh/ordering/x varies}, /pgfplots/mesh/ordering/colwise/.style={/pgfplots/mesh/ordering/y varies}, /pgfplots/mesh/ordering/x varies, /pgfplots/every mesh/.code={% % is slower: %\pgfkeysalso{/pgfplots/unbounded coords=jump}% mesh plots need balanced cols! },% /pgfplots/mesh legend/.style={% /pgfplots/legend image code/.code={% \pgfplotsplothandlermesh@defaultlegend@img{##1}% }% }, /pgfplots/mesh/num points/.initial=\numcoords,% this is NOT part of the public interface. Don't change it. /pgfplots/z buffer/.is choice,% /pgfplots/z buffer/none/.code={\def\pgfplotsplothandlermesh@zbuffer@choice{0}},% /pgfplots/z buffer/reverse x seq/.code={\def\pgfplotsplothandlermesh@zbuffer@choice{1}},% /pgfplots/z buffer/reverse y seq/.code={\def\pgfplotsplothandlermesh@zbuffer@choice{2}},% /pgfplots/z buffer/reverse xy seq/.code={\def\pgfplotsplothandlermesh@zbuffer@choice{3}},% /pgfplots/z buffer/sort/.code={\def\pgfplotsplothandlermesh@zbuffer@choice{4}},% /pgfplots/z buffer/auto/.code={\def\pgfplotsplothandlermesh@zbuffer@choice{5}},% /pgfplots/z buffer/default/.code={\def\pgfplotsplothandlermesh@zbuffer@choice{6}},% /pgfplots/z buffer/default,% % % Set the shader used for surface plots. % RULES: % 1. meshmode == 'm' (mesh): % This means we use "shader/flat" to determine the colors % and ignore fill colors. % 2. meshmode == 's' (surf): % the shader specifies how colors are used. % 3. Onedimensional mesh/surf plots are treated like 'mesh' % plots. /pgfplots/shader/.is choice, /pgfplots/shader/flat corner/.code={\def\pgfplotsplothandlermesh@shader{0}\def\pgfplotsplothandlermesh@flatmode{c}}, /pgfplots/shader/flat mean/.code={\def\pgfplotsplothandlermesh@shader{0}\def\pgfplotsplothandlermesh@flatmode{m}}, /pgfplots/shader/flat/.style={/pgfplots/shader/flat mean},% /pgfplots/shader/faceted/.code={\def\pgfplotsplothandlermesh@shader{1}}, /pgfplots/shader/interp/.code={\def\pgfplotsplothandlermesh@shader{2}}, /pgfplots/shader/faceted, /pgfplots/faceted color/.initial=mapped color!80!black, /pgfplots/clip marker paths/.is if=pgfplots@clip@marker@paths, /pgfplots/clip marker paths/.default=true, /pgfplots/axis on top/.is if=pgfplots@axis@on@top, /pgfplots/axis on top/.default=true, /pgfplots/every crossref picture/.style={% baseline,yshift=0.3em }, /pgfplots/unbounded coords/.code={% \edef\pgfplots@loc@TMPa{#1}% \def\pgfplots@loc@TMPb{discard}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \def\pgfplots@unbounded@handler{d}% \else \def\pgfplots@loc@TMPb{jump}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \def\pgfplots@unbounded@handler{j}% \else \pgfplots@error{Sorry, the choice `#1' is unknown for \pgfkeyscurrentkey. Please use either 'discard' or 'jump'.}% \fi \fi },% /pgfplots/unbounded coords=discard, /pgfplots/x coord trafo/.code={}, /pgfplots/x coord inv trafo/.code={}, /pgfplots/y coord trafo/.code={}, /pgfplots/y coord inv trafo/.code={}, /pgfplots/z coord trafo/.code={}, /pgfplots/z coord inv trafo/.code={}, % % #1 = {,,....} /pgfplots/symbolic coords/.code 2 args={% \pgfplotsarraynew\pgfplots@symbolic@coords@inverse{#2}% \pgfplotsarrayforeachungrouped\pgfplots@symbolic@coords@inverse\as\pgfplots@loc@TMPa{% \expandafter\edef\csname pgfp@symb@coords@\pgfplots@loc@TMPa\endcsname{\pgfplotsarrayforeachindex}% }% \pgfkeysdef{/pgfplots/#1 coord trafo}{% \pgfutil@ifundefined{pgfp@symb@coords@##1}{% \pgfplots@error{Sorry, the input coordinate `##1' has not been defined with 'symbolic #1 coords={#2}... Maybe it has been misspelled?}% \def\pgfmathresult{0}% }{% \edef\pgfmathresult{\csname pgfp@symb@coords@##1\endcsname}% }% }% \pgfkeysdef{/pgfplots/#1 coord inv trafo}{% \begingroup % discard everything up to the period: \pgfmath@basic@round@{##1}% \afterassignment\pgfplots@gobble@until@relax \count0=\pgfmathresult\relax \ifnum\count0<0 \count0=0 \else \count1=\pgfplotsarraysizeof\pgfplots@symbolic@coords@inverse\relax \ifnum\count0<\count1 \else \count0=\count1 \advance\count0 by-1 \fi \fi \pgfplotsarrayselect\count0 \of\pgfplots@symbolic@coords@inverse\to\pgfmathresult \pgfmath@smuggleone\pgfmathresult \endgroup }% \pgfkeysalso{% /pgfplots/#1ticklabel={\tick},% /pgfplots/scaled #1 ticks=false,% /pgfplots/plot coordinates/math parser=false,% }% },% /pgfplots/symbolic x coords/.style={symbolic coords={x}{#1}},% /pgfplots/symbolic y coords/.style={symbolic coords={y}{#1}},% /pgfplots/symbolic z coords/.style={symbolic coords={z}{#1}},% % Defines the class name \pgfplotspointmetainputhandler: /pgfplots/point meta/.code={% % this thing here converts control sequences to % characters, they won't cause 'unknown control sequence' % errors: \def\pgfplots@loc@TMPa{#1}% \pgfplots@command@to@string\pgfplots@loc@TMPa\pgfplots@loc@TMPb \pgfkeysifdefined{/pgfplots/point meta/\pgfplots@loc@TMPb/.@cmd}{% \pgfplots@invoke@pgfkeyscode{/pgfplots/point meta/#1/.@cmd}{}% }{% \pgfplotssetpointmetainput{expr}{#1}% }% },% /pgfplots/point meta/none/.code ={\pgfplotssetpointmetainput{}{}},% /pgfplots/point meta/x/.code ={\pgfplotssetpointmetainput{x}{}},% /pgfplots/point meta/y/.code ={\pgfplotssetpointmetainput{y}{}},% /pgfplots/point meta/z/.code ={\pgfplotssetpointmetainput{z}{}},% /pgfplots/point meta/explicit/.code={\pgfplotssetpointmetainput{explicit}{}},% /pgfplots/point meta/explicit symbolic/.code={\pgfplotssetpointmetainput{explicit symbolic}{}},% /pgfplots/point meta/f(x)/.code={ \ifpgfplots@curplot@threedim \pgfplotssetpointmetainput{z}{}% \else \pgfplotssetpointmetainput{y}{}% \fi }, /pgfplots/set point meta if empty/.code={% \ifx\pgfplotspointmetainputhandler\pgfutil@empty \pgfkeysalso{/pgfplots/point meta/#1}% \fi },% /pgfplots/point meta/none, /pgfplots/point meta rel/.is choice, /pgfplots/point meta rel/axis wide/.code={\def\pgfplots@perpointmeta@rel@choice{0}},% /pgfplots/point meta rel/per plot/.code={\def\pgfplots@perpointmeta@rel@choice{1}},% /pgfplots/point meta rel/axis wide,% /pgfplots/point meta min/.initial=,% /pgfplots/point meta max/.initial=,% /pgfplots/colormap name/.initial=hot, /pgfplots/colormap access/.is choice, /pgfplots/colormap access/direct/.code={\def\pgfplots@colormap@access{d}},% /pgfplots/colormap access/map/.code={\def\pgfplots@colormap@access{m}},% /pgfplots/colormap access/map,% /pgfplots/colormap/.code 2 args={% \pgfplotscreatecolormap{#1}{#2}% \pgfkeysalso{/pgfplots/colormap name=#1}% }, /pgfplots/colormap/hot/.style={ colormap name=hot }, /pgfplots/colormap/bluered/.style={ /pgfplots/colormap={bluered}{rgb255(0cm)=(0,0,180); rgb255(1cm)=(0,255,255); rgb255(2cm)=(100,255,0); rgb255(3cm)=(255,255,0); rgb255(4cm)=(255,0,0); rgb255(5cm)=(128,0,0)} }, /pgfplots/colormap/cool/.style={ /pgfplots/colormap={cool}{rgb255(0cm)=(255,255,255); rgb255(1cm)=(0,128,255); rgb255(2cm)=(255,0,255)} }, /pgfplots/colormap/greenyellow/.style={ /pgfplots/colormap={greenyellow}{rgb255(0cm)=(0,128,0); rgb255(1cm)=(255,255,0)} }, /pgfplots/colormap/redyellow/.style={ /pgfplots/colormap={redyellow}{rgb255(0cm)=(255,0,0); rgb255(1cm)=(255,255,0)} }, /pgfplots/colormap/blackwhite/.style={ colormap={blackwhite}{gray(0cm)=(0); gray(1cm)=(1)} }, /pgfplots/colormap/violet/.style={ colormap={violet}{rgb255=(25,25,122) color=(white) rgb255=(238,140,238)} }, /pgfplots/scatter/.is choice, /pgfplots/scatter/false/.code={% \pgfplots@scatterplotenabledfalse },% /pgfplots/scatter/true*/.code={% \pgfplots@scatterplotenabledtrue \pgfkeysalso{/pgfplots/set point meta if empty=f(x)}% },% /pgfplots/scatter/true/.code={% \pgfplots@scatterplotenabledtrue \pgfkeysalso{/pgfplots/set point meta if empty=f(x)}% % make sure there is a mark set! \pgfplots@gettikzinternal@keyval{mark}{tikz@plot@mark}{}% \def\pgfplots@loc@TMPa{none}% \ifx\tikz@plot@mark\pgfplots@loc@TMPa % this here happens only in older versions of pgf. \pgfqkeys{/tikz}{mark=*}% \else \ifx\tikz@plot@mark\pgfutil@empty \pgfqkeys{/tikz}{mark=*}% \fi \fi }, /pgfplots/scatter/.default=true, /pgfplots/scatter src/.style={/pgfplots/point meta={#1}}, /tikz/scatter/.style={/pgfplots/scatter=#1}, % % ARGUMENTS: the macros % - \pgfplotspointmeta % - \pgfplotspointmetarange % - \pgfplotspointmetatransformed % - \pgfplotspointmetatransformedrange % are set during @pre marker code and @post marker code. % '#1' is empty. /pgfplots/scatter/@pre marker code/.code=,% /pgfplots/scatter/@post marker code/.code=,% /pgfplots/scatter/use mapped color/.style={% /pgfplots/scatter/@pre marker code/.code=,% /pgfplots/scatter/@post marker code/.code=,% /pgfplots/scatter/use mapped color*={#1},% },% /pgfplots/scatter/use mapped color*/.style={ /pgfplots/scatter/@pre marker code/.append code={ \pgfplotscolormapdefinemappedcolor\pgfplotspointmetatransformed \scope[#1]% }, /pgfplots/scatter/@post marker code/.prefix code={\endscope} }, /pgfplots/scatter/use mapped color*/.default={draw=mapped color!80!black,fill=mapped color}, /pgfplots/scatter/use mapped color*, % expect '#1 = {=