summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex')
-rw-r--r--Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex558
1 files changed, 332 insertions, 226 deletions
diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex
index 26c80cbe799..28783b3ab5d 100644
--- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex
+++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex
@@ -4,7 +4,7 @@
%
% 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-2013 by Christian Feuersänger.
@@ -13,12 +13,12 @@
% 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 <http://www.gnu.org/licenses/>.
%
@@ -44,7 +44,6 @@
\input pgfplots.paths.code.tex
-
\usetikzlibrary{decorations,decorations.pathmorphing,decorations.pathreplacing}
% FIXME: reduce number of variables!
@@ -74,7 +73,10 @@
\newif\ifpgfplots@warn@for@filter@discards
\newif\ifpgfplots@isuniformtick
\newif\ifpgfplotsplothandlermesh@patch@type@sampling
-\newif\ifpgfplots@clip@limits
+\newif\ifpgfplots@clip@limits@compatmode
+\newif\ifpgfplots@clip@limits@x
+\newif\ifpgfplots@clip@limits@y
+\newif\ifpgfplots@clip@limits@z
\newif\ifpgfplots@clip
\newif\ifpgfplots@plot@coords@mathparser
\pgfplots@plot@coords@mathparsertrue
@@ -135,6 +137,7 @@
\newif\ifpgfplots@has@cell@picture
\newif\ifpgfplots@substitute@pgfpoint
\newif\ifpgfplots@LUA@backend@supported
+\newif\ifpgfplots@threedim@log@sampling
\newif\ifpgfplots@collect@firstplot@astick
\newif\ifpgfplots@units@use
@@ -164,7 +167,7 @@
\def\pgfplots@label@upgrade@warning{%
\ifpgfplots@threedim
- \pgfplotswarning{center lines upgrade required}\pgfeov%
+ \pgfplotswarning{center lines upgrade required}\pgfeov%
\global\let\pgfplots@label@upgrade@warning=\relax
\fi
}%
@@ -217,7 +220,7 @@
% \pgfplotswarning{cycle list size limit reached}\pgfeov
% \breakforeach
% \fi
- %--------------------------------------------------
+ %--------------------------------------------------
%
\pgfutil@ifnextchar\pgfplots@EOI{%
\pgfplots@gobble@until@EOI
@@ -319,9 +322,9 @@
\begingroup
\edef\pgfkeyscurrentkey{#1}%
\pgfkeyssplitpath
- \pgfplots@warning{Loading deprecated style option
- \pgfkeyscurrentpath/\pgfkeyscurrentname.
- Please replace '\string\tikzstyle{\pgfkeyscurrentname}'
+ \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
@@ -390,7 +393,7 @@
% Does the work for '[xyz]ticklabel pos'.
%
% #1: the axis (x,y or z).
-% #2: the key argument. Accepts
+% #2: the key argument. Accepts
% 'lower',
% 'upper',
% 'default' -> depends on 'tick pos'
@@ -516,7 +519,7 @@
\def\pgfplots@colormap@catcodemagic{colormap}
\pgfplots@command@to@string\pgfplots@colormap@catcodemagic\pgfplots@colormap@catcodemagic
-% checks for
+% checks for
% - <known list>
% - [<elements> of]<known list>
% POSTCONDITION:
@@ -601,7 +604,7 @@
% remove spaces from ##1 and ##2:
\pgfkeys@spdef\pgfplots@loc@TMPa{##1}%
\pgfkeys@spdef\pgfplots@loc@TMPb{##2}%
- %
+ %
% check if the argument is known:
\pgfkeysifdefined{/pgfplots/point meta/\pgfplots@loc@TMPa/.@cmd}{%
\def\pgfplots@loc@TMPc{%
@@ -649,7 +652,7 @@
\edef\pgfplots@color@of@colormap@value{\pgfplots@color@of@colormap@value}%
\pgfkeys@spdef\pgfplots@color@of@colormap@name{#2}%
}
-% defines
+% defines
% - \pgfmathresult to be the resulting color.
% - \pgfplots@color@of@colormap@name the name of the colormap
\def\pgfplots@color@of@colormap@define#1{%
@@ -783,7 +786,7 @@
\fi
},
% 'activate layers=false' is the same as 'set layers=none'.
- % However, 'activate layers=true' does not work unless a 'set layers'
+ % However, 'activate layers=true' does not work unless a 'set layers'
% has been installed as well.
/pgfplots/activate layers/.is if=pgfplots@layered@graphics,
/pgfplots/activate layers/.default=true,
@@ -1105,7 +1108,7 @@
/pgfplots/axis type/.belongs to family=/pgfplots/scale,
/pgfplots/@expected axis cs/.initial=cart,
/pgfplots/every rectangle axis/.style={},
- %
+ %
% see \pgfplotsdefinecstransform{<from>}{<to>}{<code>}
/pgfplots/data cs/.initial=cart,% the coordinate system of provided data. Will be transformed to the axis' internal coordinate system (@expected axis cs).
%
@@ -1186,7 +1189,7 @@
%
% this here used to be the default up to (and including) pgfplots 1.13.
% But it does not support the following use cases:
- % * 'colormap access=const',
+ % * 'colormap access=const',
% * 'colorbar style={ytick=data}}'
% * CMYK shadings
% -> deprecated.
@@ -1352,7 +1355,7 @@
\c@pgf@countd=\pgfplotscolormaplastindexof{\pgfplots@CM}\relax
\edef\pgfplots@colorcount{\the\c@pgf@countd}%
\advance\c@pgf@countd by-1 %
- % XXX : this here is tailored for use with
+ % XXX : this here is tailored for use with
% * 'colormap access=const' and
% * 'sample for=const'
% where the last color is redundant and must not be
@@ -1717,8 +1720,6 @@
/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,
@@ -1728,8 +1729,6 @@
/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},
@@ -1761,11 +1760,11 @@
% This feature is more or less deprecated.
% The choice 'auto' should always use 'near ticklabel'.
%
- % Choices are
+ % Choices are
% 'auto' (value 0),
- % 'near ticklabel' (value 1),
+ % 'near ticklabel' (value 1),
% 'tikz' (value 2)
- % with values stored in \pgfplots@ticklabel@anchor@[xyz]
+ % 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}},
@@ -2009,22 +2008,22 @@
\draw[%
/pgfplots/mesh=false,%
% reset bar options. This is to address the strange
- % backwards compatibility handling implemented by
+ % backwards compatibility handling implemented by
% \pgfplots@install@local@bar@handlers (see its docs).
% This should not hurt at all since 'line legend' is
% unsuitable for bar plots anyway.
- bar width=3pt,%
+ bar width=3pt,%
bar shift=0pt,%
%
mark repeat=2,%
- mark phase=2,##1]
+ mark phase=2,##1]
plot coordinates {
- (0cm,0cm)
+ (0cm,0cm)
(0.3cm,0cm)
(0.6cm,0cm)%
};%
}%
- },
+ },
/pgfplots/line legend/.style/.code={\pgfplots@error{This style is supposed to be constant.}},%
/pgfplots/line legend/.append style/.code={\pgfplots@error{This style is supposed to be constant.}},%
/pgfplots/line legend,
@@ -2070,10 +2069,26 @@
}%
},%
/tikz/trim axis right/.style={/pgfplots/trim axis right},
- /pgfplots/clip limits/.is if=pgfplots@clip@limits,
- /pgfplots/clip limits/.default=true,
+ /pgfplots/clip limits compat/.is if=pgfplots@clip@limits@compatmode,
+ /pgfplots/clip limits if compat/.code={
+ \ifpgfplots@clip@limits@compatmode
+ \else
+ \pgfkeysalso{#1}%
+ \fi
+ },
+ /pgfplots/clip xlimits/.is if=pgfplots@clip@limits@x,
+ /pgfplots/clip xlimits/.default=true,
+ /pgfplots/clip ylimits/.is if=pgfplots@clip@limits@y,
+ /pgfplots/clip ylimits/.default=true,
+ /pgfplots/clip zlimits/.is if=pgfplots@clip@limits@z,
+ /pgfplots/clip zlimits/.default=true,
+ /pgfplots/clip limits/.style={
+ /pgfplots/clip xlimits={#1},%
+ /pgfplots/clip ylimits={#1},%
+ /pgfplots/clip zlimits={#1},%
+ },
/pgfplots/clip limits=true,
- /pgfplots/clip limits/.belongs to family=/pgfplots,
+ %/pgfplots/clip limits/.belongs to family=/pgfplots,
/pgfplots/clip/.is if=pgfplots@clip,
/pgfplots/clip/.default=true,
/pgfplots/clip=true,
@@ -2260,7 +2275,7 @@
\edef\pgfplots@loc@TMPa{#3}%
\expandafter\pgfplots@loc@TMPc\pgfplots@loc@TMPa\relax
},%
- % -> keeps only the nth point, all other ones will get ''.
+ % -> keeps only the nth point, all other ones will get ''.
/pgfplots/each nth point/.style={/pgfplots/each nth point*={x}{#1}},%
% #1: the filter name: x, y, z, or something exotic like hist/data
% #2: the N of 'each nth'
@@ -2300,8 +2315,8 @@
/pgfplots/xfilter/.initial=,% DEPRECATED
/pgfplots/yfilter/.initial=,% DEPRECATED
/pgfplots/zfilter/.initial=,% DEPRECATED
- % interpretation:
- % if 'samples at'==empty && 'domain' == empty
+ % interpretation:
+ % if 'samples at'==empty && 'domain' == empty
% use tikz option processing!
% else if 'samples at' == empty
% use 'domain'
@@ -2319,7 +2334,7 @@
/pgfplots/variable/.code={\pgfkeysalso{/tikz/variable={#1}}},
/pgfplots/variable y/.initial=\y,%
/pgfplots/sample dim/.initial=auto,
- % and provide aliases in the '/pgfplots/' tree to avoid
+ % 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}}},
@@ -2328,7 +2343,7 @@
/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=,%
@@ -2401,7 +2416,7 @@
/pgfplots/scale uniformly strategy/auto,
/pgfplots/scale uniformly warning/.is if=pgfplots@scaleuniformly@warning,
/pgfplots/scale uniformly warning=false,
- % number of iterations for the nonlinear method involved
+ % number of iterations for the nonlinear method involved
/pgfplots/scale uniformly strategy iter/.initial=9,
/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,%
@@ -2631,7 +2646,7 @@
/pgfplots/disablelogfilter y/.default=true,
/pgfplots/disablelogfilter z/.is if=pgfplots@disablelogfilter@z,
/pgfplots/disablelogfilter z/.default=true,
- /pgfplots/disablelogfilter/.style={
+ /pgfplots/disablelogfilter/.style={
/pgfplots/disablelogfilter x=#1,
/pgfplots/disablelogfilter y=#1,
/pgfplots/disablelogfilter z=#1,
@@ -3157,9 +3172,9 @@
%
% 'nodes near coords=<content of node>'.
% 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
+ %
+ % 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={},%
@@ -3221,7 +3236,7 @@
\fi
% ok, place the node.
\expandafter\node\expandafter[\pgfplots@nodes@near@coords@align,%
- /pgfplots/every node near coord]
+ /pgfplots/every node near coord]
{%
\if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname%
% point meta=explicit symbolic
@@ -3402,7 +3417,7 @@
/pgf/bar shift={%
% total width = n*w + (n-1)*skip
% -> subtract half for centering
- -0.5*(\numplotsofactualtype*\pgfplotbarwidth + (\numplotsofactualtype-1)*(#1)) +
+ -0.5*(\numplotsofactualtype*\pgfplotbarwidth + (\numplotsofactualtype-1)*(#1)) +
% the '0.5*w' is for centering
(.5+\plotnumofactualtype)*\pgfplotbarwidth + \plotnumofactualtype*(#1)},%
},
@@ -3419,7 +3434,7 @@
#1shift={%
% total width = n*w + (n-1)*skip
% -> subtract half for centering
- -0.5*(\numplotsofactualtype*(#1) + (\numplotsofactualtype-1)*(#2)) +
+ -0.5*(\numplotsofactualtype*(#1) + (\numplotsofactualtype-1)*(#2)) +
% the '0.5*w' is for centering
(.5+\plotnumofactualtype)*(#1) + \plotnumofactualtype*(#2)%
},%
@@ -3430,6 +3445,7 @@
bar cycle list,
xtick align=outside,
ybar legend,
+ clip limits if compat={clip ylimits=false},
/pgfplots/set point meta if empty=f(x),%
/pgfplots/bar shift auto={#1},
/pgfplots/error bars/draw error bar/.code 2 args={%
@@ -3466,6 +3482,7 @@
bar direction=x,
bar cycle list,
ytick align=outside,
+ clip limits if compat={clip xlimits=false},
/pgfplots/xbar legend,
/pgfplots/set point meta if empty=x,%
/pgfplots/bar shift auto={#1},
@@ -3496,6 +3513,7 @@
bar cycle list,
x tick label as interval,
xmajorgrids,
+ clip limits if compat={clip ylimits=false},
xtick align=outside,
xtick=data,
ybar interval legend,
@@ -3516,6 +3534,7 @@
ymajorgrids,
ytick align=outside,
xbar interval legend,
+ clip limits if compat={clip xlimits=false},
bar interval width={#1/\numplotsofactualtype},
bar interval shift={(\plotnumofactualtype+0.5)/\numplotsofactualtype},
/tikz/xbar interval,
@@ -3527,6 +3546,7 @@
bar direction=x,
bar cycle list,
single xbar legend,
+ clip limits if compat={clip xlimits=false},
stack plots=x,
stack dir=#1,
/tikz/xbar,
@@ -3539,6 +3559,7 @@
bar direction=y,
bar cycle list,
single ybar legend,
+ clip limits if compat={clip ylimits=false},
stack plots=y,
stack dir=#1,
/tikz/ybar,
@@ -3551,6 +3572,7 @@
bar direction=x,
/pgfplots/set point meta if empty=x,%
bar cycle list,
+ clip limits if compat={clip xlimits=false},
single xbar legend,
stack plots=x,
stack dir=#1,
@@ -3563,6 +3585,7 @@
/pgfplots/set point meta if empty=f(x),%
bar cycle list,
single ybar legend,
+ clip limits if compat={clip ylimits=false},
stack plots=y,
stack dir=#1,
/tikz/ybar interval,
@@ -3593,7 +3616,7 @@
/pgfplots/plot graphics/zmin/.initial=,
/pgfplots/plot graphics/zmax/.initial=,
%
- % a) to provide a bounding box: points={(0,1) (0,2)}
+ % a) to provide a bounding box: points={(0,1) (0,2)}
% or b) to squeeze the graphics into internal image coordinates:
% points={(0,1,0) => (0,4) (0,0,1) => (40,600)}
% or c) both of them.
@@ -3608,7 +3631,7 @@
%
% this command key should defined \pgfmathresult to be
% \pgfmathresult -> {{<wd>}{<ht>}}
- % where <wd> is the natural width of the input image and
+ % where <wd> is the natural width of the input image and
% <ht> is the natural height.
% The input image file name is available as 'plot graphics/src'.
% The default implementation invoked 'lowlevel draw={}{}' and
@@ -3812,7 +3835,7 @@
%
% Set the shader used for surface plots.
% RULES:
- % 1. meshmode == 'm' (mesh):
+ % 1. meshmode == 'm' (mesh):
% This means we use "shader/flat" to determine the colors
% and ignore fill colors.
% 2. meshmode == 's' (surf):
@@ -4008,7 +4031,7 @@
/pgfplots/colormap uniform/always/.code={\def\pgfplots@colormap@uniform@choice{0}},
/pgfplots/colormap uniform/if requested/.code={\def\pgfplots@colormap@uniform@choice{1}},
/pgfplots/colormap uniform/always,
- %
+ %
% #1: a number X with 0<= x <=0.9 which defines the relative size
% of the extra interval used for 'colormap access=piecewise constant'
% The value #1=0 disables the extra interval.
@@ -4177,7 +4200,7 @@
/pgfplots/scatter/@post marker code/.prefix code={\endscope}%
}%
% Now:remember the classes.
- \pgfkeyssetvalue{/pgfplots/scatter/classes/values}{#1}%
+ \pgfkeyssetvalue{/pgfplots/scatter/classes/values}{#1}%
%
% and generate legend items for every single class,
% But ONLY if we really *have* a plot which uses
@@ -4268,6 +4291,9 @@
/pgfplots/cube/size x=\pgfplotmarksize,
/pgfplots/cube/size y=\pgfplotmarksize,
/pgfplots/cube/size z=\pgfplotmarksize,
+ %
+ /pgfplots/3d log sampling/.is if=pgfplots@threedim@log@sampling,
+ %
/pgfplots/trig format/.style={/pgf/trig format={#1}},
/pgfplots/xtick placement tolerance/.initial=0.05pt,
/pgfplots/ytick placement tolerance/.initial=0.05pt,
@@ -4306,6 +4332,7 @@
/pgfplots/compat/anchors/1.12/.style= {/pgfplots/compat/anchors/1.3},%
/pgfplots/compat/anchors/1.13/.style= {/pgfplots/compat/anchors/1.3,/pgfplots/correct polar positioning=true},%
/pgfplots/compat/anchors/1.14/.style= {/pgfplots/compat/anchors/1.13},%
+ /pgfplots/compat/anchors/1.15/.style= {/pgfplots/compat/anchors/1.13},%
/pgfplots/compat/anchors/default/.style={/pgfplots/compat/anchors/1.3},%
%
/pgfplots/compat/empty line/.is choice,
@@ -4323,6 +4350,7 @@
/pgfplots/compat/empty line/1.12/.style= {/pgfplots/compat/empty line/1.4},%
/pgfplots/compat/empty line/1.13/.style= {/pgfplots/compat/empty line/1.4},%
/pgfplots/compat/empty line/1.14/.style= {/pgfplots/compat/empty line/1.4},%
+ /pgfplots/compat/empty line/1.15/.style= {/pgfplots/compat/empty line/1.4},%
/pgfplots/compat/empty line/default/.style= {/pgfplots/compat/empty line/1.4},%
%
/pgfplots/compat/path replacement/.is choice,
@@ -4340,6 +4368,7 @@
/pgfplots/compat/path replacement/1.12/.style= {/pgfplots/compat/path replacement/1.5.1},
/pgfplots/compat/path replacement/1.13/.style= {/pgfplots/compat/path replacement/1.5.1},
/pgfplots/compat/path replacement/1.14/.style= {/pgfplots/compat/path replacement/1.5.1},
+ /pgfplots/compat/path replacement/1.15/.style= {/pgfplots/compat/path replacement/1.5.1},
/pgfplots/compat/path replacement/default/.style= {/pgfplots/compat/path replacement/pre 1.3},%
%
/pgfplots/compat/pgfpoint substitution/.is choice,
@@ -4357,6 +4386,7 @@
/pgfplots/compat/pgfpoint substitution/1.12/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
/pgfplots/compat/pgfpoint substitution/1.13/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
/pgfplots/compat/pgfpoint substitution/1.14/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
+ /pgfplots/compat/pgfpoint substitution/1.15/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
/pgfplots/compat/pgfpoint substitution/default/.style= {/pgfplots/compat/pgfpoint substitution/pre 1.3},%
%ellipse/.is if=pgfplots@path@replace@ellipse,
%
@@ -4384,7 +4414,8 @@
/pgfplots/compat/labels/1.12/.style= {/pgfplots/compat/labels/1.8},%
/pgfplots/compat/labels/1.13/.style= {/pgfplots/compat/labels/1.8},%
/pgfplots/compat/labels/1.14/.style= {/pgfplots/compat/labels/1.8},%
- /pgfplots/compat/labels/default/.style= {/pgfplots/compat/labels/pre 1.3},% maintain backwards compatibility
+ /pgfplots/compat/labels/1.15/.style= {/pgfplots/compat/labels/1.8},%
+ /pgfplots/compat/labels/default/.style= {/pgfplots/compat/labels/pre 1.3},% maintain backwards compatibility
%
/pgfplots/compat/bar nodes/.is choice,
/pgfplots/compat/bar nodes/pre 1.3/.style={%
@@ -4436,7 +4467,8 @@
},%
},%
/pgfplots/compat/bar nodes/1.14/.style= {/pgfplots/compat/bar nodes/1.13},%
- /pgfplots/compat/bar nodes/default/.style= {/pgfplots/compat/bar nodes/pre 1.3},% maintain backwards compatibility
+ /pgfplots/compat/bar nodes/1.15/.style= {/pgfplots/compat/bar nodes/1.13},%
+ /pgfplots/compat/bar nodes/default/.style= {/pgfplots/compat/bar nodes/pre 1.3},% maintain backwards compatibility
/pgfplots/compat/bar nodes/default,
%
% search for the \pgfplots@compat@scaling@coordmath -- using float
@@ -4468,6 +4500,7 @@
/pgfplots/compat/scaling/1.12/.style={/pgfplots/compat/scaling/1.6},
/pgfplots/compat/scaling/1.13/.style={/pgfplots/compat/scaling/1.6},
/pgfplots/compat/scaling/1.14/.style={/pgfplots/compat/scaling/1.6},
+ /pgfplots/compat/scaling/1.15/.style={/pgfplots/compat/scaling/1.6},
/pgfplots/compat/scaling/default/.style={/pgfplots/compat/scaling/1.4},
%
/pgfplots/compat/scale mode/.is choice,
@@ -4485,6 +4518,7 @@
/pgfplots/compat/scale mode/1.12/.style={/pgfplots/compat/scale mode/1.6},
/pgfplots/compat/scale mode/1.13/.style={/pgfplots/compat/scale mode/1.6},
/pgfplots/compat/scale mode/1.14/.style={/pgfplots/compat/scale mode/1.6},
+ /pgfplots/compat/scale mode/1.15/.style={/pgfplots/compat/scale mode/1.6},
/pgfplots/compat/scale mode/default/.style={/pgfplots/compat/scale mode/1.5},
%
%
@@ -4503,6 +4537,7 @@
/pgfplots/compat/plot3graphics/1.12/.style= {/pgfplots/compat/plot3graphics/1.6},%
/pgfplots/compat/plot3graphics/1.13/.style= {/pgfplots/compat/plot3graphics/1.6},%
/pgfplots/compat/plot3graphics/1.14/.style= {/pgfplots/compat/plot3graphics/1.6},%
+ /pgfplots/compat/plot3graphics/1.15/.style= {/pgfplots/compat/plot3graphics/1.6},%
/pgfplots/compat/plot3graphics/default/.style= {/pgfplots/compat/plot3graphics/1.5},%
%
% ATTENTION: there is a compatibility issue which slipped through
@@ -4522,9 +4557,9 @@
% Consequently, I cannot introduce compatibity switches without
% loosing compatibility.
%
- % I chose to keep the correct unary minus sign. If you ever want
+ % I chose to keep the correct unary minus sign. If you ever want
% to revert to the old version in order to keep spacing intact, use
- %
+ %
% \pgfkeys{/pgf/compat/number printer=2.10}
%
% Risk: the size of such tick labels changed and the
@@ -4547,6 +4582,7 @@
/pgfplots/compat/bar width by units/1.12/.style= {/pgfplots/compat/bar width by units/1.7},
/pgfplots/compat/bar width by units/1.13/.style= {/pgfplots/compat/bar width by units/1.7},
/pgfplots/compat/bar width by units/1.14/.style= {/pgfplots/compat/bar width by units/1.7},
+ /pgfplots/compat/bar width by units/1.15/.style= {/pgfplots/compat/bar width by units/1.7},
/pgfplots/compat/bar width by units/default/.style={/pgfplots/compat/bar width by units/pre 1.3},
%
/pgfplots/compat/BB/.is choice,
@@ -4564,6 +4600,7 @@
/pgfplots/compat/BB/1.12/.style= {/pgfplots/compat/BB/1.8},%
/pgfplots/compat/BB/1.13/.style= {/pgfplots/compat/BB/1.8},%
/pgfplots/compat/BB/1.14/.style= {/pgfplots/compat/BB/1.8},%
+ /pgfplots/compat/BB/1.15/.style= {/pgfplots/compat/BB/1.8},%
/pgfplots/compat/BB/default/.style={/pgfplots/compat/BB/pre 1.3},
%
/pgfplots/compat/general/.is choice,
@@ -4577,6 +4614,8 @@
/pgfplots/compat/library hook={statistics}{/pgfplots/boxplot/estimator=legacy,/pgfplots/boxplot/ensure mark=false},
/pgfplots/colorbar pgfshading,
/pgfplots/colorbar=false,
+ /pgfplots/3d log sampling=false,
+ /pgfplots/clip limits compat=true,
},%
/pgfplots/compat/general/1.3/.style= {/pgfplots/compat/general/pre 1.3},
/pgfplots/compat/general/1.4/.style= {/pgfplots/compat/general/pre 1.3},%
@@ -4615,6 +4654,11 @@
%/pgfplots/colorbar sampled={surf,shader=interp,samples=2},
%/pgfplots/colorbar=false,
},%
+ /pgfplots/compat/general/1.15/.style= {%
+ /pgfplots/compat/general/1.14,
+ /pgfplots/3d log sampling=true, % FIXME finish this feature: see unittest_log_sampling_3d
+ /pgfplots/clip limits compat=false,
+ },%
/pgfplots/compat/general/default/.style={/pgfplots/compat/general/1.11},
%
/pgfplots/enable tick line clipping/.is if=pgfplots@enable@tick@line@clipping,
@@ -4632,7 +4676,7 @@
/pgfplots/compat/show suggested version/.is if=pgfplots@show@suggested@version,
/pgfplots/compat/show suggested version=true,
/pgfplots/compat/current/.initial=,
- /pgfplots/compat/mostrecent/.initial=1.14,
+ /pgfplots/compat/mostrecent/.initial=1.15,
/utils/exec={%
\pgfplotsutilforeachcommasep{%
/pgfplots/compat/current,%
@@ -4761,6 +4805,18 @@
},%
}
+\def\pgfplots@glob@TMPa#1{%
+ \pgfkeys{%
+ /pgfplots/#1tick pos/lower/.style={/pgfplots/#1tick pos=left},
+ /pgfplots/#1tick pos/bottom/.style={/pgfplots/#1tick pos=left},
+ /pgfplots/#1tick pos/upper/.style={/pgfplots/#1tick pos=right},
+ /pgfplots/#1tick pos/top/.style={/pgfplots/#1tick pos=right},
+ }%
+}%
+\pgfplots@glob@TMPa x%
+\pgfplots@glob@TMPa y%
+\pgfplots@glob@TMPa z%
+
\def\pgfplots@ticklabel@typeset@arg#1{\pgfkeysvalueof{/pgfplots/typeset ticklabel/.@cmd}{#1}\pgfeov}%
% backwards compatibility:
@@ -4773,7 +4829,7 @@
\global\let\pgfplots@colorbar@draw@legacyimpl=\pgfplots@loc@TMPa
\endgroup
-% call
+% call
% \pgfkeyslet{.../.@cmd}\pgfplots@cant@set@in@this@context
% to replace a key with a generic error message.
\def\pgfplots@cant@set@in@this@context#1\pgfeov{\pgfplots@cant@set@in@this@context@}
@@ -4924,7 +4980,7 @@
% Prepare special alignment features here.
%
% The idea is to:
- % 1. Declare a local COORDINATE SYSTEM to place labels,
+ % 1. Declare a local COORDINATE SYSTEM to place labels,
% the 'ticklabel cs' for the current axis.
% It takes 1-2 arguments where the first is the coordinate on the
% ticklabel axis (between 0 and 1). The second is an optional shift orthogonal to
@@ -4943,7 +4999,7 @@
\pgfkeyslet{/tikz/sloped/orig/.@cmd}\pgfplots@loc@TMPa
\pgfkeysdef{/tikz/sloped}{\pgfkeysalso{/tikz/sloped like #1 axis={##1}}}%
%
- \node
+ \node
[/pgfplots/every axis label,%
/pgfplots/every axis #1 label]
{#2};
@@ -4995,7 +5051,7 @@
% Draws outer axis lines, i.e. those which are on the bounding box.
% This has an effect if and only if axis #1 lines!=center.
-%
+%
%
% Ok, we don't mind whether edges with thick lines look ugly. We just
% draw separate lines. This here is necessary if we want arrow heads.
@@ -5022,7 +5078,7 @@
\pgfplotspointonorientedsurfaceabsetupfor{#2}{#1}{\pgfplotspointonorientedsurfaceN}%
\pgfplots@transformshift@along@outer@normal@on@line@of@oriented@surf 0v%
\pgfplots@drawgridlines@onorientedsurf@fromto{\csname pgfplots@#2min\endcsname}%
- \endpgfextra
+ \endpgfextra
};
}{}%
\pgfplots@ifaxisline@B@onorientedsurf@should@be@drawn{1}{%
@@ -5032,7 +5088,7 @@
\pgfplotspointonorientedsurfaceabsetupfor{#2}{#1}{\pgfplotspointonorientedsurfaceN}%
\pgfplots@transformshift@along@outer@normal@on@line@of@oriented@surf 1v%
\pgfplots@drawgridlines@onorientedsurf@fromto{\csname pgfplots@#2max\endcsname}%
- \endpgfextra
+ \endpgfextra
};
}{}%
%
@@ -5079,7 +5135,7 @@
%{ (\pgfplots@xmax, \pgfplots@ymax) }
{ \pgfextra\pgfpathmoveto{\pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymax}}\endpgfextra }
\else
- decorate [xdiscont,decoration={pre length=\xdisstart, post length=\xdisend}]
+ decorate [xdiscont,decoration={pre length=\xdisstart, post length=\xdisend}]
%{ -- (\pgfplots@xmax, \pgfplots@ymax) }
{ \pgfextra\pgfpathlineto{\pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymax}}\endpgfextra }
\fi
@@ -5087,7 +5143,7 @@
%{ (\pgfplots@xmax, \pgfplots@ymin) }
{ \pgfextra\pgfpathmoveto{\pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymin}}\endpgfextra }
\else
- decorate [ydiscont,decoration={pre length=\ydisend, post length=\ydisstart}]
+ decorate [ydiscont,decoration={pre length=\ydisend, post length=\ydisstart}]
%{ -- (\pgfplots@xmax, \pgfplots@ymin) }
{ \pgfextra\pgfpathlineto{\pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymin}}\endpgfextra }
\fi
@@ -5095,7 +5151,7 @@
%{ (\pgfplots@xmin, \pgfplots@ymin) }
{ \pgfextra\pgfpathmoveto{\pgfplotsqpointxy{\pgfplots@xmin}{\pgfplots@ymin}}\endpgfextra }
\else
- decorate [xdiscont,decoration={pre length=\xdisend, post length=\xdisstart}]
+ decorate [xdiscont,decoration={pre length=\xdisend, post length=\xdisstart}]
%{ -- (\pgfplots@xmin, \pgfplots@ymin) }
{ \pgfextra\pgfpathlineto{\pgfplotsqpointxy{\pgfplots@xmin}{\pgfplots@ymin}}\endpgfextra }
\fi
@@ -5203,7 +5259,7 @@
% }
% }
% to get the different indices into the cycle lists.
- %--------------------------------------------------
+ %--------------------------------------------------
\c@pgf@counta=\pgfplots@cycle@dim\relax
\c@pgf@countb=\pgfplots@listindex\relax
\advance\c@pgf@counta by-1
@@ -5235,7 +5291,7 @@
% =\pgfplots@listindex
\if A\pgfplots@cycle@multi@list@repeat
% 'cycle multiindex list'
- %
+ %
% ensure that we respect the maxlen of the list:
\pgfplotsmathmodint{\pgfplots@listindex}{\pgfkeysvalueof{/pgfplots/cycle multi list/@maxlen}}%
\let\pgfplots@listindex=\pgfmathresult
@@ -5317,14 +5373,14 @@
% I need to apply anything which might be relevant for \addplot
% here.
% But I do NOT want \scope since this might already affect the low
- % level output.
+ % level output.
%
% This here works:
% 1. set them to activate plot handlers and parameters like
% samples and domain:
\tikzset{#1}%
%
- % 2. we need to remember all these options inside of
+ % 2. we need to remember all these options inside of
% 'current plot style' -- otherwise, they would not appear
% inside of legend images and markers.
\pgfplotssurveyphaseaddoptionsbeforesurveybegins{#1}%
@@ -5384,8 +5440,8 @@
\fi
}
\def\pgfplots@path@closed@cycle@std{%
- |- (perpendicular cs:
- vertical line through={(current plot begin)},
+ |- (perpendicular cs:
+ vertical line through={(current plot begin)},
horizontal line through={(\pgfplots@ZERO@x,\pgfplots@ZERO@y)})
-- cycle
}%
@@ -5464,7 +5520,7 @@
%
% In contrast to \path, \pgfplotsextra can contain any command(s).
%
-% Syntax: either
+% Syntax: either
% \pgfplotsextra{<argument>}
% or
% \pgfplotsextra <argument> \endpgfplotsextra
@@ -5684,7 +5740,7 @@
% It is called within legend's cell pictures in order to undo global
% settings like stroke colors or the-like.
\def\pgfplots@restore@state@before@legend@style{%
- \pgfsetfillcolor{black}%
+ \pgfsetfillcolor{black}%
% disable the transformations of pgfplots. This is only used by
% pgfplots-specific plot handlers which work only if used inside
% of an axis... disable it.
@@ -5731,7 +5787,7 @@
\pgfplots@transposelegend
\fi
%
- %
+ %
\begingroup
\ifx\pgfplots@createlegend@toname\pgfutil@empty
% ok, draw legend.
@@ -5748,7 +5804,7 @@
\let##1=\pgfplotsretval
}%
\fi
- % assemble a
+ % assemble a
% \matrix {
% small plot & legend1\\
% small plot & legend2\\
@@ -5763,7 +5819,7 @@
% }
% ( I have allocated the token registers in my
% liststructure.sty)
- %
+ %
% \global\def\pgfplots@glob@TMPa{
% \matrix {
% \TOKL@TA
@@ -5807,11 +5863,11 @@
%
% and the legend image into \t@pgfplots@tokb:
\t@pgfplots@tokb=\expandafter{\pgfplotsretval}%
- % ok. Now, the
+ % ok. Now, the
% - 'b' register contains the IMAGE and
% - 'c' register contains the TEXT
\ifcase\legendplotpos
- % legend plot pos=left
+ % legend plot pos=left
\edef\pgfplots@matrixentry{%
\the\t@pgfplots@tokb
\noexpand\pgfmatrixnextcell
@@ -5933,7 +5989,7 @@
}%
}
-% Defines a new \label{#1}. When \ref{#1} is used, the code
+% Defines a new \label{#1}. When \ref{#1} is used, the code
% \csname #3#2\endcsname
% will be invoked.
% \pgfplots@label[<optional prefix>]{<label name>}{<command prefix>}
@@ -5974,7 +6030,7 @@
% this is a work-around to support the mcaption class: it
% simply remembers the label name and invokes \label later-on.
% This appears to be wrong in this context: I want to generate
- % a pgfplots label.
+ % a pgfplots label.
%
% If someone writes \label{fig:one}, that label will be
% redeclared in the margin - which appears to be correct. And
@@ -6162,7 +6218,7 @@
\def\bool@pgfplots@loc@enlargelimits@min{0}%
\def\bool@pgfplots@loc@enlargelimits@max{0}%
%
- % we can either enlarge
+ % we can either enlarge
% ... using a relative limit (like 0.1 -> 10%)
\def\pgfplots@enlargelimits@relthresh{0.1}% the default
% ...or an absolute limit ( like 4 units)
@@ -6171,8 +6227,8 @@
%
% Relative and absolute values are relatively simple: we only need to compute and
% add the changes to the already existing limits. The value with
- % an absolute dimension is surprisingly complicated.
- %
+ % an absolute dimension is surprisingly complicated.
+ %
% The problem is: enlargelimits has to be computed before the
% image has been scaled into its final size. This is not merely a
% technical problem; this is how one wants it to be!
@@ -6227,7 +6283,7 @@
% This here needs a different treatment because "enlarge x limits={abs=1cm}"
% has to be applied AFTER the scaling is complete. To this end, it is
% applied as the very last scaling step. It is applied after any post
-% scales, and it only modifies axis limits.
+% scales, and it only modifies axis limits.
%
% #1: x,y, or z
% #2: 1 if the lower limit shall be enlarged, 0 if not
@@ -6242,10 +6298,10 @@
\let\pgfplots@enlargelimits@absdimension@y=\pgfutil@empty
\let\pgfplots@enlargelimits@absdimension@z=\pgfutil@empty
-% Called as soon as the scaling is completely set up and any
+% Called as soon as the scaling is completely set up and any
% "enlarge #1 limits={abs=1cm}"
% enlargements shall be done, i.e. enlargement by unit.
-%
+%
% #1: x,y, or z
\def\pgfplots@scaling@apply@enlargelimits@by@dimension#1{%
\expandafter\ifx\csname pgfplots@enlargelimits@absdimension@#1\endcsname\pgfutil@empty
@@ -6261,19 +6317,19 @@
}%
-% PRECONDITION:
+% PRECONDITION:
% 1. width/height are set
% 2. the unit vectors point indicate whether the axis is a standard
% box or some skewed plot (their precise direction and magnitude is
% irrelevant)
-% 3. the enlargelimits code has already evaluated the case
+% 3. the enlargelimits code has already evaluated the case
% "enlargelimits={abs=1cm}"
%
% POSTCONDITION:
% width and/or height might be modified
\def\pgfplots@scaling@changewidthheight@for@enlargelimits@by@dimension{%
\ifpgfplots@enlargelimits@respect@figure@size
- %
+ %
% decide if we need to do anything at all, i.e. if there IS
% some option 'enlarge * limits={abs=1cm}' :
\pgfplots@loc@tmpfalse
@@ -6328,9 +6384,9 @@
\def\pgfplots@loc@TMPc{{1}{1}}%
%
% ah - we really *have* a standard boxed axis.
- % Compute
+ % Compute
% newwidth = width - enlargevalue
- % newheight = height - enlargevalue
+ % newheight = height - enlargevalue
%
% newwidth will be stored in \pgfplots@loc@TMPa
% and newheight in \pgfplots@loc@TMPb
@@ -6383,7 +6439,7 @@
\fi
}
-% this here applies changes required for 'enlarge #1 limits={abs=1cm}', i.e.
+% this here applies changes required for 'enlarge #1 limits={abs=1cm}', i.e.
% for the case of numbers with units.
%
% The main difference is that it is applied AFTER the scaling of the
@@ -6451,7 +6507,7 @@
\edef\enlargeabsolute{\pgf@sys@tonumber{\pgf@xb}}%
\fi
\ifdim\pgf@xb>0.001pt
- % the case with
+ % the case with
% enlargeabsolute ~= 0
% means that \pgfplots@@min ~= \pgfplots@@max.
% It is handled in another method.
@@ -6654,7 +6710,7 @@
\ifx\pgfplots@data@zmin\pgfplots@invalidrange@zmax
\global\let\pgfplots@data@zmax=\pgfplots@zmax
\fi
- \ifpgfplots@clip@limits
+ \ifpgfplots@clip@limits@x
\else
% there is a rare change that min > max.
% Handle that ...
@@ -6662,11 +6718,17 @@
\global\let\pgfplots@xmin=\pgfmathresult
\pgfplotscoordmath{x}{max}{\pgfplots@xmin}{\pgfplots@xmax}%
\global\let\pgfplots@xmax=\pgfmathresult
+ \fi
+ \ifpgfplots@clip@limits@y
+ \else
%
\pgfplotscoordmath{y}{min}{\pgfplots@ymin}{\pgfplots@ymax}%
\global\let\pgfplots@ymin=\pgfmathresult
\pgfplotscoordmath{y}{max}{\pgfplots@ymin}{\pgfplots@ymax}%
\global\let\pgfplots@ymax=\pgfmathresult
+ \fi
+ \ifpgfplots@clip@limits@z
+ \else
%
\ifpgfplots@threedim
\pgfplotscoordmath{z}{min}{\pgfplots@zmin}{\pgfplots@zmax}%
@@ -6684,7 +6746,7 @@
% This method finishes the accumulated information of axis limits and
% all internal flag fields.
%
-% PRECONDITION:
+% PRECONDITION:
% - all plots are finally finished; axis and data limits are known.
%
% POSTCONDITION:
@@ -6750,6 +6812,9 @@
\global\let\pgfplots@firstplot@coords@z=\pgfutil@empty
%
\pgfplots@limits@ready
+ %
+ \pgfplots@set@options@after@survey1%
+ %
\pgfplotspoint@initialisation
%
%
@@ -6792,7 +6857,7 @@
\def\pgfplots@init@axis@shift{%
\pgfplotsforeachentryinCSV{\pgfplots@loc@TMPa}{x,y,z}{%
- % check if 'axis #1 line shift' is set and non-zero.
+ % check if 'axis #1 line shift' is set and non-zero.
\expandafter\pgfplots@if@has@axis@shift\pgfplots@loc@TMPa{%
\pgfkeysgetvalue{/pgfplots/axis \pgfplots@loc@TMPa\space line shift}\pgfplots@loc@TMPb
\pgfmathparse{\pgfplots@loc@TMPb}%
@@ -6839,7 +6904,7 @@
\pgfplots@separate@axis@linestrue
\fi
\fi
- %
+ %
% normalize the value - no need to parse it over and over again:
\pgfkeyslet{/pgfplots/axis \pgfplots@loc@TMPa\space line shift}\pgfplots@loc@TMPb
}{}%
@@ -6883,10 +6948,25 @@
\expandafter\def\csname pgfplots@#1ticklabel\endcsname{\axisdefaultticklabel}%
}{%
\expandafter\def\csname pgfplots@#1ticklabel\endcsname{\axisdefaultticklabellog}%
- }%
+ }%
\fi
\expandafter\ifx\csname pgfplots@extra@#1ticklabel\endcsname\pgfutil@empty
- \pgfutil@namelet{pgfplots@extra@#1ticklabel}{pgfplots@#1ticklabel}%
+ \pgfutil@namelet{pgfplots@loc@TMPa}{pgfplots@#1ticklabel}%
+ \pgfutil@namelet{pgfplots@loc@TMPb}{pgfplots@user@ticklabel@list@#1}%
+ \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb
+ % Ah - someone used '#1ticklabels' (or its friends).
+ % these are bound to specific positions and make no sense in this context.
+ \pgfplots@if{pgfplots@#1islinear}{%
+ \expandafter\def\csname pgfplots@extra@#1ticklabel\endcsname{\axisdefaultticklabel}%
+ }{%
+ \expandafter\def\csname pgfplots@extra@#1ticklabel\endcsname{\axisdefaultticklabellog}%
+ }%
+ \else
+ % inherit the global argument of '#1ticklabel' -- it will probably contain generic code to
+ % typeset labels at any positions.
+ % The "probably" is a buest-guess, though...
+ \pgfutil@namelet{pgfplots@extra@#1ticklabel}{pgfplots@#1ticklabel}%
+ \fi
\fi
%
\if0\csname pgfplots@#1axislinesnum\endcsname\else
@@ -7114,7 +7194,7 @@
% Note that the shift in T is not of interest, we only deal with
% T_a(x) = 10^{s_a} x.
%
-% Thus, this routine invokes #3 if
+% Thus, this routine invokes #3 if
% ( 10^{s1} * veclen1 < 10^{s2} * veclen2 )
% <=>
% ( 10^{s1-s2} * veclen1 < veclen2 ).
@@ -7300,7 +7380,7 @@
\pgfpointintersectionoflines
{\origin}
{\pgfpointadd{\origin}{%
- \innerdiagonal\global\pgf@x=0sp
+ \innerdiagonal\global\pgf@x=0sp
\pgfplots@assert@not@zero{\pgf@y}{y axis has eyy=0; cannot compute above origin anchor}%
}%
}%
@@ -7741,7 +7821,7 @@
% Defines a new axis type `#1' with initialization code `#2'.
-%
+%
% The name #1 will be available as value for 'axis type=#1' and
% furthermore, an environment '\begin{#1axis}' will be available.
%
@@ -7952,7 +8032,7 @@
% have called
% \pgfplots@draw@axis again.
% The difference is in the
- % \pgfplotsifaxissurfaceisforeground checks.
+ % \pgfplotsifaxissurfaceisforeground checks.
% Furthermore, I have removed the case distinctions for
% the different axis line combinations.
%\if10
@@ -8110,7 +8190,7 @@
% - 'vv0' 'vv1'
% - 'v0v' 'v1v'
% ' '0vv' '1vv'
-%
+%
% @see \pgfplotspointonorientedsurfaceabmatchaxisline for details
% about those three-character ids.
%
@@ -8142,9 +8222,9 @@
%
% The operation is relatively fast.
\def\pgfplots@decide@which@figure@surfaces@are@drawn{%
- \expandafter\def\csname pgfplots@surfviewdepth@2vv\endcsname{f}%
- \expandafter\def\csname pgfplots@surfviewdepth@v2v\endcsname{f}%
- \expandafter\def\csname pgfplots@surfviewdepth@vv2\endcsname{f}%
+ \expandafter\def\csname pgfplots@surfviewdepth@2vv\endcsname{f}%
+ \expandafter\def\csname pgfplots@surfviewdepth@v2v\endcsname{f}%
+ \expandafter\def\csname pgfplots@surfviewdepth@vv2\endcsname{f}%
\ifpgfplots@threedim
\pgfplotsmathvectortocomponents\pgfplots@view@dir@threedim{pgfplots@loc@}{default}%
% respect reversed axes here. If I am not mistaken, it should
@@ -8153,35 +8233,35 @@
\expandafter\def\csname pgfplots@surfviewdepth@0vv\endcsname{f}% foreground
\expandafter\def\csname pgfplots@surfviewdepth@1vv\endcsname{b}% background
}{%
- \expandafter\def\csname pgfplots@surfviewdepth@0vv\endcsname{b}%
- \expandafter\def\csname pgfplots@surfviewdepth@1vv\endcsname{f}%
+ \expandafter\def\csname pgfplots@surfviewdepth@0vv\endcsname{b}%
+ \expandafter\def\csname pgfplots@surfviewdepth@1vv\endcsname{f}%
}%
\pgfplotscoordmath{default}{if is}{\pgfplots@loc@y}{\if\pgfkeysvalueof{/pgfplots/y dir/value}n+\else-\fi}{%
\expandafter\def\csname pgfplots@surfviewdepth@v0v\endcsname{f}% foreground
\expandafter\def\csname pgfplots@surfviewdepth@v1v\endcsname{b}% background
}{%
- \expandafter\def\csname pgfplots@surfviewdepth@v0v\endcsname{b}%
- \expandafter\def\csname pgfplots@surfviewdepth@v1v\endcsname{f}%
+ \expandafter\def\csname pgfplots@surfviewdepth@v0v\endcsname{b}%
+ \expandafter\def\csname pgfplots@surfviewdepth@v1v\endcsname{f}%
}%
\pgfplotscoordmath{default}{if is}{\pgfplots@loc@z}{\if\pgfkeysvalueof{/pgfplots/z dir/value}n+\else-\fi}{%
\expandafter\def\csname pgfplots@surfviewdepth@vv0\endcsname{f}% foreground
\expandafter\def\csname pgfplots@surfviewdepth@vv1\endcsname{b}% background
}{%
- \expandafter\def\csname pgfplots@surfviewdepth@vv0\endcsname{b}%
- \expandafter\def\csname pgfplots@surfviewdepth@vv1\endcsname{f}%
+ \expandafter\def\csname pgfplots@surfviewdepth@vv0\endcsname{b}%
+ \expandafter\def\csname pgfplots@surfviewdepth@vv1\endcsname{f}%
}%
\else
% FIXME : it might be better to implement that stuff here
% implicilty using the 3D algorithms.
%
% this here is the only important one:
- \expandafter\def\csname pgfplots@surfviewdepth@vv0\endcsname{b}%
+ \expandafter\def\csname pgfplots@surfviewdepth@vv0\endcsname{b}%
%
- \expandafter\def\csname pgfplots@surfviewdepth@0vv\endcsname{b}%
- \expandafter\def\csname pgfplots@surfviewdepth@1vv\endcsname{f}%
- \expandafter\def\csname pgfplots@surfviewdepth@v0v\endcsname{b}%
- \expandafter\def\csname pgfplots@surfviewdepth@v1v\endcsname{f}%
- \expandafter\def\csname pgfplots@surfviewdepth@vv1\endcsname{f}%
+ \expandafter\def\csname pgfplots@surfviewdepth@0vv\endcsname{b}%
+ \expandafter\def\csname pgfplots@surfviewdepth@1vv\endcsname{f}%
+ \expandafter\def\csname pgfplots@surfviewdepth@v0v\endcsname{b}%
+ \expandafter\def\csname pgfplots@surfviewdepth@v1v\endcsname{f}%
+ \expandafter\def\csname pgfplots@surfviewdepth@vv1\endcsname{f}%
\def\pgfplotsifaxislineisonconvexhull##1##2##3{##2}% ALWAYS TRUE
\def\pgfplots@ifaxisline@B@onorientedsurf@should@be@drawn@##1##2##3{##2}% ALWAYS TRUE
%
@@ -8189,7 +8269,7 @@
}
% Initialises the 'pgfplots@[xyz]ticklabelaxisspecs' macro according to
-% the foreground/background situation of the axis and the '[xyz]ticklabel pos'
+% the foreground/background situation of the axis and the '[xyz]ticklabel pos'
% keys.
\def\pgfplots@init@ticklabelaxisspec{%
\ifpgfplots@threedim
@@ -8229,14 +8309,14 @@
% It does NOT work outside of it.
%
% It initialises the 'pgfplots@#1ticklabelaxisspec' macro according to
-% the foreground/background situation of the axis and the '#1ticklabel pos'
+% the foreground/background situation of the axis and the '#1ticklabel pos'
% key.
%
% #1: the axis: x,y or z
% #2: either x or y. It refers to the PROJECTED coordinate which
-% should be used to compare the 'lower' and 'upper' arguments of the
+% should be used to compare the 'lower' and 'upper' arguments of the
% |[xyz]ticklabel pos| key.
-%
+%
% PRECONDITION:
% \pgfplots@tmp@center[xy] is set.
%
@@ -8286,7 +8366,7 @@
% }{%
% \pgfplots@error{INTERNAL ERROR}%
% }%
- %--------------------------------------------------
+ %--------------------------------------------------
% Decide whether the '{0.5}{1}{0}' point is above or below
% the {0.5}{0.5}{0.5} point. Again, the '<' operation is based
% on the '#1ticklabel pos' key, the projection and #2.
@@ -8350,7 +8430,7 @@
% \expandafter\def\csname pgfplots@#1tickposnum\endcsname{3}% set to 'right'
% \fi
% \fi
- %--------------------------------------------------
+ %--------------------------------------------------
\if l\csname pgfplots@#1ticklabel@pos\endcsname
\expandafter\edef\csname pgfplots@#1ticklabelaxisspec\endcsname{\pgfplots@loc@to@threedim 1}%
\fi
@@ -8372,7 +8452,7 @@
% Processes every tick mark in direction #1 and draws tick lines, tick
% labels, grid lines, axis lines and extra ticks.
-%
+%
% #1 : the direction into which tick positions are processed.
% #2 : the direction in which tick lines and grid lines shall be drawn.
% #3 : the direction which is currently fixed.
@@ -8500,7 +8580,7 @@
% certainly use a different style for axis labels than the default 2d
% style.
%
-% Thus, all style changes which are relevant for 'every 3d description'
+% Thus, all style changes which are relevant for 'every 3d description'
% have NOT YET been processed (they have been appended to 'every axis').
\def\pgfplots@BEGIN@prepare@description@styles{%
\ifpgfplots@threedim
@@ -8521,7 +8601,7 @@
% Shortcut for '\pgfplotsset{set layers={#1}}'.
-%
+%
% USAGE:
% 1. \pgfplotssetlayers{<layer config name>} (one declared with /.define layer set)
% 2. \pgfplotssetlayers (no braces)
@@ -8545,7 +8625,7 @@
% - a \pgfsetlayers{<list>} is issued (immediately)
% - '/pgfplots/@set layers arg' is defined such that any following axes can initialized their layers.
\def\pgfplots@key@set@layers#1{%
- %
+ %
% auto detect if '#1' is a defined layer set:
\pgfkeysifdefined{#1/list}{%
\def\pgfkeyscurrentname{#1}%
@@ -8704,10 +8784,10 @@
% The purpose of this method is to check for the cases where no cell picture is necessary.
% The idea behind this anchor is to insert the axis DIRECTLY into the embedding tikzpicture, without
-% a posteriori shifting.
+% a posteriori shifting.
%
% A posteriori shifting == anchors whose dimensions are not fixed
-% until the complete axis has been "typeset".
+% until the complete axis has been "typeset".
%
% Disabling the cell picture will still prepare ALL anchors correctly,
% but it disables many of the anchor choices when it comes to the
@@ -8733,7 +8813,7 @@
%
% FIXME : do we need to renormalize this here? apparently
% not...
- %\def\pgfplots@anchorname{image}%
+ %\def\pgfplots@anchorname{image}%
%
\let\pgfplots@BEGIN@cell@picture=\pgfplots@BEGIN@cell@picture@DISABLED
\let\pgfplots@END@cell@picture=\pgfplots@END@cell@picture@DISABLED
@@ -8741,10 +8821,10 @@
\let\pgfplots@finally@correct@child@node@positions=\relax
%
% translate the coordinate system before the 'current axis'
- % node is generated.
+ % node is generated.
\expandafter\def\expandafter\pgfplots@beforenode\expandafter{\pgfplots@beforenode
\setbox\pgfnodepartimagebox=\hbox{}%
- }%
+ }%
}%
}
@@ -8782,7 +8862,7 @@
\pgfplots@sys@beforenode
% create a leight-weight 'current axis' node for anchor references
% (which may happen during both, the axis descriptions or any
- % path/plot commands).
+ % path/plot commands).
\pgfmultipartnode{pgfplots@low@level@shape@INNER}{image}{current axis}{\pgfusepath{discard}}%
\endgroup
}%
@@ -8860,7 +8940,7 @@
%
%
% \pgfplotspointorigininternal:
- % used for anchor=<some node inside of the axis> and for
+ % used for anchor=<some node inside of the axis> and for
% 'cell picture=true' in order to correct remembered node positions:
\xdef\pgfplotspointorigininternal{\global\pgf@x=\the\pgf@picminx\space\global\pgf@y=\the\pgf@picminy\space}%
%
@@ -9026,12 +9106,12 @@
% - 00v
% - 0v0
% - v00
- % so, use
+ % so, use
% 010 (01v) 011
% 011 (0v1) 001
% 001 (v01) 101
% 101 (10v) 100
- % 100 (1v0) 110
+ % 100 (1v0) 110
% 110 (v10) 011 (cycle)
\def\pgfplots@clippath@install##1{%
\pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmin}{\pgfplots@ymax}{\pgfplots@zmin}}%
@@ -9050,10 +9130,10 @@
% - 00v
% - 0v1
% - v01
- % so, use
+ % so, use
% 010 (01v) 011
- % 011 (v11) 111
- % 111 (1v1) 101
+ % 011 (v11) 111
+ % 111 (1v1) 101
% 101 (10v) 100
% 100 (v00) 000
% 000 (0v0) 010 (cycle)
@@ -9077,11 +9157,11 @@
% - 0v0
% - v10
% so, use
- % 000 (00v) 001
- % 001 (0v1) 011
- % 011 (v11) 111
- % 111 (11v) 110
- % 110 (1v0) 100
+ % 000 (00v) 001
+ % 001 (0v1) 011
+ % 011 (v11) 111
+ % 111 (11v) 110
+ % 110 (1v0) 100
% 100 (v00) 000 (cycle)
\def\pgfplots@clippath@install##1{%
\pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmin}{\pgfplots@ymin}{\pgfplots@zmin}}%
@@ -9101,11 +9181,11 @@
% - 0v1
% - v11
% so, use
- % 000 (00v) 001
- % 001 (v01) 101
- % 101 (1v1) 111
- % 111 (11v) 110
- % 110 (v10) 010
+ % 000 (00v) 001
+ % 001 (v01) 101
+ % 101 (1v1) 111
+ % 111 (11v) 110
+ % 110 (v10) 010
% 010 (0v0) 000 (cycle)
\def\pgfplots@clippath@install##1{%
\pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmin}{\pgfplots@ymin}{\pgfplots@zmin}}%
@@ -9129,11 +9209,11 @@
% - 1v0
% - v00
% So, use
- % 110 (11v) 111
- % 111 (1v1) 101
- % 101 (v01) 001
- % 001 (00v) 000
- % 000 (0v0) 010
+ % 110 (11v) 111
+ % 111 (1v1) 101
+ % 101 (v01) 001
+ % 001 (00v) 000
+ % 000 (0v0) 010
% 010 (v10) 110 (cycle)
\def\pgfplots@clippath@install##1{%
\pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmax}{\pgfplots@ymax}{\pgfplots@zmin}}%
@@ -9152,11 +9232,11 @@
% - 1v1
% - v01
% So, use
- % 110 (11v) 111
- % 111 (v11) 011
- % 011 (0v1) 001
- % 001 (00v) 000
- % 000 (v00) 100
+ % 110 (11v) 111
+ % 111 (v11) 011
+ % 011 (0v1) 001
+ % 001 (00v) 000
+ % 000 (v00) 100
% 100 (1v0) 110 (cycle)
\def\pgfplots@clippath@install##1{%
\pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmax}{\pgfplots@ymax}{\pgfplots@zmin}}%
@@ -9177,11 +9257,11 @@
% - 1v0
% - v10
% So, use
- % 100 (10v) 101
- % 101 (1v1) 111
- % 111 (v11) 011
- % 011 (01v) 010
- % 010 (0v0) 000
+ % 100 (10v) 101
+ % 101 (1v1) 111
+ % 111 (v11) 011
+ % 011 (01v) 010
+ % 010 (0v0) 000
% 000 (v00) 100 (cycle)
\def\pgfplots@clippath@install##1{%
\pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmax}{\pgfplots@ymin}{\pgfplots@zmin}}%
@@ -9200,11 +9280,11 @@
% - 1v1
% - v11
% So, use
- % 100 (10v) 101
- % 101 (v01) 001
- % 001 (0v1) 011
- % 011 (01v) 010
- % 010 (v10) 110
+ % 100 (10v) 101
+ % 101 (v01) 001
+ % 001 (0v1) 011
+ % 011 (01v) 010
+ % 010 (v10) 110
% 110 (1v0) 100 (cycle)
\def\pgfplots@clippath@install##1{%
\pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmax}{\pgfplots@ymin}{\pgfplots@zmin}}%
@@ -9219,7 +9299,7 @@
}%
}%
}%
-
+
\else
\pgfplotsqpointxy{\pgfplots@xmin}{\pgfplots@ymin}%
\edef\pgfplots@loc@TMPa{\global\pgf@x=\the\pgf@x\space\global\pgf@y=\the\pgf@y\space}%
@@ -9329,9 +9409,9 @@
}%
\def\pgfplots@clippath@install@test{\pgfusepath{clip}}%
-% This is the main part of the implementation for
+% This is the main part of the implementation for
% 'clip bounding box=upper bound' : it collects the bounding box of everything inside of
-% the clipped area. Then in the associated \endscope, it clips that bounding box to the expected
+% the clipped area. Then in the associated \endscope, it clips that bounding box to the expected
% clip path -- and protocols that size.
\def\pgfplots@clippath@install@BB@upper@bound{%
\tikzset{
@@ -9747,17 +9827,17 @@
{\pgfplots@evalute@tikz@coord@system@interface@x[]}%
}
-% In case of (semi-) logplots, this command will
+% In case of (semi-) logplots, this command will
% - assign a filter which invokes \pgfmathlog@{} for each coordinate
% - replace any user-specified coordinate by its log.
%
% All subsequent commands will then work with logarithmic coordinates.
%
-% PRECONDITION:
-% - The user input options have been set correctly,
+% PRECONDITION:
+% - The user input options have been set correctly,
% - the options have been set, but are not applied
%
-% POSTCONDITION:
+% POSTCONDITION:
% - any user input has been parsed
% - any user input for log-axis has been replaced by its log if
% necessary
@@ -9779,9 +9859,9 @@
\expandafter\edef\csname pgfplots@prepare@#1coord\endcsname##1{%
% do not expand it here - might contain unexpandable
% material which is processed by the #1 coord trafo:
- % FIXME : this might produce an endless loop if ##1 = \pgfmathresult!
+ % FIXME : this might produce an endless loop if ##1 = \pgfmathresult!
\noexpand\def\noexpand\pgfmathresult{##1}%
- % this becomes
+ % this becomes
\expandafter\noexpand\csname pgfplots@highlevel@trafo@#1\endcsname{##1}\noexpand\pgfeov
%
% ensure that it is expanded.
@@ -9911,7 +9991,7 @@
%
% generate default ticks in the 'log basis', not base 10:
\pgfplotsset{/pgfplots/log basis ticks=#1}%
- %
+ %
\ifdim\pgfkeysvalueof{/pgfplots/log basis #1}pt=10pt
\else
\pgfplots@identify@log@minor@tick@posfalse
@@ -10061,7 +10141,7 @@
\else
\pgfplots@show@label{y}{\pgfplots@label@}%
\fi
- \fi
+ \fi
\fi
\ifpgfplots@threedim
\ifpgfplots@hide@z
@@ -10140,7 +10220,7 @@
%
\pgfnodealias{parent axis}{current axis}%
%
- % FIXME :
+ % FIXME :
% I would really prefer to find a different way to move these
% variables out of the current scope. But expansion leads to
% mistakes with '#' characters ... :-(
@@ -10248,7 +10328,7 @@
\noexpand\expandafter
\noexpand\gdef\noexpand\csname pgfplots@colorbar@to@name@\pgfplots@colorbar@toname\endcsname{\the\toks0}}%
\xdef#1{}% NOP.
- %
+ %
% make sure \ref{<colorbarname>} works:
\pgfplots@label{\pgfplots@colorbar@toname}{pgfplots@colorbar@to@name@}%
\fi
@@ -10291,7 +10371,7 @@
\def\pgfplots@loc@TMPa{cmyk}%
\ifx\pgfplots@loc@TMPa\pgfplotsretval
\pgfutil@ifundefined{pgfplots@colorbar@CMYK@\pgfplots@loc@TMPb}{%
- \pgfplotswarning{colorbar CMYK unsupported}{\pgfplots@loc@TMPb}\pgfeov%
+ \pgfplotswarning{colorbar CMYK unsupported}{\pgfplots@loc@TMPb}\pgfeov%
\expandafter\gdef\csname pgfplots@colorbar@CMYK@\pgfplots@loc@TMPb\endcsname{1}%
}{}%
\def\b@pgfplots@colorbar@fallback@to@sampled{1}%
@@ -10330,7 +10410,7 @@
\pgfplotsset{%
/pgfplots/every axis plot post/.append code={%
\ifpgfplots@collect@firstplot@astick
- % Oh! Someone wrote 'ytick=data. We want the precise positions.
+ % Oh! Someone wrote 'ytick=data. We want the precise positions.
%
% Note that this check needs to be done late: it must
% be after \begin{axis} -- and since many colorbar
@@ -10494,16 +10574,16 @@
% Parses all options in #1 which are known in the currently active families.
%
-% The result will be stored back into the TikZ-style named #1 without
+% The result will be stored back into the TikZ-style named #1 without
% further processing.
%
% Example:
% \tikzstyle{every axis}=[xmin=0,xmax=1,line width=1pt
% \pgfplots@set@keys@from@tikz@style\tmpmacro{every axis}{/pgfplots}
-%
+%
% - sets axis options 'xmin' and 'xmax'
% - calls \tikzstyle{every axis}={line width=1pt}
-%
+%
% I assume that this method is called within local TeX groups so
% nothing will be destroyed outside.
%
@@ -10755,7 +10835,7 @@
%
\pgfplots@set@options@of@layered@graphics
%
- % Now, any 'name' and 'alias' options have been processed.
+ % Now, any 'name' and 'alias' options have been processed.
%
% Remember their current meaning and reset the tikz options!
\let\pgfplots@fig@name=\tikz@fig@name
@@ -10824,7 +10904,7 @@
% \pgfkeysactivatefamily{/pgfplots}%
% \pgfplots@set@keys@from@tikz@style{every axis plot}%
% \pgfkeysdeactivatefamily{/pgfplots}%
- %--------------------------------------------------
+ %--------------------------------------------------
%
% Attention: do NOT set the description styles here! Setting them
% must be postponed until |every 3d description| has been set (to
@@ -10874,7 +10954,7 @@
\pgfkeysifdefined{/tikz/on layer}{}{%
% make sure assignments 'on layer' in the /tikz/ prefix
% doesn't hurt.
- % this may happen, for example with
+ % this may happen, for example with
% 'x grid style={on layer=...}'
% because 'x grid style' is not processed by the key filtering
% above (it is extracted later).
@@ -10939,7 +11019,7 @@
\pgfkeysifdefined{/tikz/name path/.@cmd}{%
% 'name path' does not work inside of a pgfplots axis because
% pgfplots unnecessarily introduces extra \scopes around each path :-/
- % it needs to be 'name path global'.
+ % it needs to be 'name path global'.
% PATCH IT:
\pgfkeysgetvalue{/tikz/name path global/.@cmd}\pgfplots@loc@TMPa%
\ifx\pgfplots@loc@TMPa\pgfplots@name@path@global@cmd@pgf@two@ten
@@ -11089,7 +11169,7 @@
%
% This macro is used inside for \label{} / \ref{}; it tries to be
% reasonable smart about restoring relevant flags stored in a pgfplots
-% axis. If it forgets something... well, it is not too smart.
+% axis. If it forgets something... well, it is not too smart.
%
% #1: the style to export.
% #2: either empty or the fully qualified name of a code key. If #2 is not empty,
@@ -11101,7 +11181,7 @@
% The exported routine autodetects whether the result is used inside of
% a picture. In that case, the '#2' style will be set inside of a
% scope instead of \tikz[#2].
-%
+%
% Assembles a macro \pgfplotsretval which, upon execution, draws the
% plot style.
%
@@ -11189,9 +11269,9 @@
% The implementation for \label{foo} after \addplot. It allows to
% \ref{foo} (it inserts the 'legend image code').
%
-% With
+% With
% \addplot[scatter/classes={a={}}] ... ;
-% \label[a]{my label}
+% \label[a]{my label}
% you can reference scatter/classes labels.
%
% I only need to overwrite '\label'; the rest is done by LaTeX.
@@ -11231,7 +11311,7 @@
%
% b) \protect . If the resulting \ref{} command occurs within
% a "moving argument" like \caption or so, we need to use
- % proper '\protect'ion.
+ % proper '\protect'ion.
%
% this here is the low-level implementation of \ref{#3}. Write it into
% the .aux file:
@@ -11265,14 +11345,14 @@
}%
}%
-% A helper method which defines
+% A helper method which defines
% `/tikz/current plot style' to be {#1} --- with properly set key
% search paths.
\def\pgfplots@define@currentplotstyle@as#1{%
\pgfkeysdef{/tikz/current plot style}{%
\pgfplots@search@also@tikz
%
- % Make sure that
+ % Make sure that
% \addplot[every mark/.append style={...}]
% or something like that is interpreted as /tikz/ key:
\pgfplots@invoke@pgfkeyscode{/handler config/full or existing/.@cmd}{}% restrict
@@ -11410,13 +11490,16 @@
\pgfplotsutil@directlua{%
pgfplots.gca = pgfplots.Axis.new();
pgfplots.gca.is3d = \pgfplots@boolval{pgfplots@threedim};
- pgfplots.gca.clipLimits = \pgfplots@boolval{pgfplots@clip@limits};
+ pgfplots.gca.clipLimits = {
+ \pgfplots@boolval{pgfplots@clip@limits@x},
+ \pgfplots@boolval{pgfplots@clip@limits@y},
+ \pgfplots@boolval{pgfplots@clip@limits@z} };
pgfplots.gca.autocomputeAllLimits = \pgfplots@boolval{pgfplots@autocompute@all@limits};
- pgfplots.gca.autocomputeMin = {
+ pgfplots.gca.autocomputeMin = {
\pgfplots@boolval{pgfplots@autocompute@xmin},
\pgfplots@boolval{pgfplots@autocompute@ymin},
\pgfplots@boolval{pgfplots@autocompute@zmin} };
- pgfplots.gca.autocomputeMax = {
+ pgfplots.gca.autocomputeMax = {
\pgfplots@boolval{pgfplots@autocompute@xmax},
\pgfplots@boolval{pgfplots@autocompute@ymax},
\pgfplots@boolval{pgfplots@autocompute@zmax} };
@@ -11449,14 +11532,14 @@
% until \end{axis}. During the collect phase, axis limits will be
% computed.
%
-% The following variables are accummulated between
+% The following variables are accummulated between
% \begin{axis}
% and
% \end{axis}:
%
% - \pgfplots@[xyz]min
% \pgfplots@[xyz]max
-% - These denote the axis limits.
+% - These denote the axis limits.
% - They are always assigned globally.
% - For linear axes, they will be computed in floating point.
% - For log axes, they will be computed using pgf math engine.
@@ -11550,11 +11633,11 @@
% (including the 'pt' suffix).
%
% - \ifpgfplots@curplot@threedim
-% - valid during an '\addplot' preparation step.
+% - valid during an '\addplot' preparation step.
% - \ifpgfplots@threedim
% - whether the axis shall be threedimensional.
%
-% - \pgfplots@currentplot@firstcoord@[xyz]
+% - \pgfplots@currentplot@firstcoord@[xyz]
% - \pgfplots@currentplot@lastcoord@[xyz]
% - contains the first/last coordinate of the current plot.
% - assigned globally.
@@ -11747,16 +11830,38 @@
\pgfkeyslet{/pgfplots/on layer}\pgfutil@empty
}
-\def\pgfplots@set@options@after@survey{%
- \pgfkeyssetvalue{/pgfplots/xmin}{\pgfplots@xmin}%
- \pgfkeyssetvalue{/pgfplots/ymin}{\pgfplots@ymin}%
- \pgfkeyssetvalue{/pgfplots/zmin}{\pgfplots@zmin}%
- \pgfkeyssetvalue{/pgfplots/point meta min}{\pgfplots@axiswide@metamin}%
+% #1 if and only if the limits are already ready (sanitized to bounded
+% values and transformed)
+\def\pgfplots@set@options@after@survey#1{%
+ \def\pgfplots@set@options@after@survey@@##1{%
+ \edef\pgfmathresult{\csname pgfplots@##1min\endcsname}%
+ \if1#1%
+ \pgfplotscoordmath{##1}{datascaletrafo inverse}{\pgfmathresult}%
+ \pgfplotscoordmath{##1}{tofixed}{\pgfmathresult}%
+ \else
+ % might be unbounded...
+ \pgfplotscoordmath{##1}{tostring}{\pgfmathresult}%
+ \fi
+ \pgfkeyslet{/pgfplots/##1min}\pgfmathresult
+ %
+ \edef\pgfmathresult{\csname pgfplots@##1max\endcsname}%
+ \if1#1%
+ \pgfplotscoordmath{##1}{datascaletrafo inverse}{\pgfmathresult}%
+ \pgfplotscoordmath{##1}{tofixed}{\pgfmathresult}%
+ \else
+ % might be unbounded...
+ \pgfplotscoordmath{##1}{tostring}{\pgfmathresult}%
+ \fi
+ \pgfkeyslet{/pgfplots/##1max}\pgfmathresult
+ }%
+ \pgfplots@set@options@after@survey@@ x%
+ \pgfplots@set@options@after@survey@@ y%
+ \ifpgfplots@threedim
+ \pgfplots@set@options@after@survey@@ z%
+ \fi
%
- \pgfkeyssetvalue{/pgfplots/xmax}{\pgfplots@xmax}%
- \pgfkeyssetvalue{/pgfplots/ymax}{\pgfplots@ymax}%
- \pgfkeyssetvalue{/pgfplots/zmax}{\pgfplots@zmax}%
- \pgfkeyssetvalue{/pgfplots/point meta max}{\pgfplots@axiswide@metamax}%
+ \pgfkeyslet{/pgfplots/point meta min}{\pgfplots@axiswide@metamin}%
+ \pgfkeyslet{/pgfplots/point meta max}{\pgfplots@axiswide@metamax}%
}%
% \end{axis} :
@@ -11778,7 +11883,7 @@
%
\pgfplotssurveyphase@setactiveplothandlers
%
- \pgfplots@set@options@after@survey
+ \pgfplots@set@options@after@survey0%
\expandafter\pgfplotsset\expandafter{\pgfplots@late@options}%
%
\pgfplots@prepare@layered@graphics
@@ -11848,7 +11953,7 @@
%
\pgfplots@create@axis@descriptions
%
- % this here does \endtikzpicture\endpgfinterruptpicture
+ % this here does \endtikzpicture\endpgfinterruptpicture
% (and stores sizes):
\pgfplots@END@cell@picture
%
@@ -11862,7 +11967,7 @@
\def\pgfplots@loc@TMPa##1{%
\pgftransformshift{%
% So far, the inner node's position has not been
- % corrected (that happens in
+ % corrected (that happens in
% \pgfplots@finally@correct@child@node@positions).
% Do that here with \pgfplots@saveddimen@picminx:
\pgfpointdiff
@@ -11965,9 +12070,9 @@
{ \pgf@sys@tonumber\pgf@yx, \pgf@sys@tonumber\pgf@yy },
{ \pgf@sys@tonumber\pgf@zx, \pgf@sys@tonumber\pgf@zy } });^^J%
\ifpgfplots@threedim
- axis.viewdir = {
+ axis.viewdir = {
pgfplots.pgftonumber("\pgfplots@loc@x"),
- pgfplots.pgftonumber("\pgfplots@loc@y"),
+ pgfplots.pgftonumber("\pgfplots@loc@y"),
pgfplots.pgftonumber("\pgfplots@loc@z") };^^J%
\fi
}%
@@ -12073,6 +12178,7 @@
% expanded, i.e. it can be a macro.
\def\pgfplots@stored@plotlist@visualize@selected@phases#1{%
\begingroup
+ \def\pgfplotsaxisplotphase{V}%
\pgfplotsonlayer{\pgfkeysvalueof{/pgfplots/on layer}}{a plot or graphical element (or inherited from the axis)}%
\pgfkeysvalueof{/pgfplots/execute at begin plot visualization}%
\ifpgfplots@threedim
@@ -12239,7 +12345,7 @@
\pgfplots@polarxy@#2\@@%
\else%
\pgfplots@polarxy@#2and #2\@@%
- \fi%
+ \fi%
\pgfmathparse{#1}%
\let\pgfpoint@angle=\pgfmathresult%
\pgfmathcos@{\pgfpoint@angle}%
@@ -12264,8 +12370,8 @@
% see docs of \pgfplots@tikz@do@arc for a motivation:
\pgfplots@disable@directionmath
%
- % ok, now, evaluate the arcs. Since this implements
- % 'substitute pgfpoint', we have to evaluate the angles via
+ % ok, now, evaluate the arcs. Since this implements
+ % 'substitute pgfpoint', we have to evaluate the angles via
% 'axis direction cs' ...
\let\pgfpointxy=\pgfplotspointaxisdirectionxy
\let\pgfpointxyz=\pgfplotspointaxisdirectionxyz
@@ -12414,7 +12520,7 @@
}%
% Replaces the pdfmark for #1 by that of #2.
-%
+%
% Note that when this macro is executed (it resides in the .aux file),
% the pdfmark for #2 is typically UNDEFINED.
%
@@ -12428,7 +12534,7 @@
% Ok, make a "lazy replace":
\expandafter\let\expandafter\pgfplots@glob@TMPa\csname pgf@sys@pdf@mark@pos@#1\endcsname
\expandafter\global\expandafter\let\csname pgf@sys@pdf@mark@pos@#1@old\endcsname=\pgfplots@loc@TMPa%
- %
+ %
\expandafter\gdef\csname pgf@sys@pdf@mark@pos@#1\endcsname{%
% this is the lazy replace, assuming knowledge about how
% pgf calls its internal structures :-/