diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex | 120 |
1 files changed, 66 insertions, 54 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex index e181c3b97ab..ba79c22b33f 100644 --- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex @@ -7,7 +7,7 @@ % % See the file doc/generic/pgf/licenses/LICENSE for more details. -\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex,v 1.44 2013/07/19 13:16:48 tantau Exp $ +\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex,v 1.48 2015/05/18 17:01:16 tantau Exp $ \usepgfmodule{datavisualization} \usetikzlibrary{backgrounds} @@ -19,7 +19,8 @@ \pgfkeys{/tikz/\tikz@dv@key/.try={#1}}% \ifpgfkeyssuccess% \else% - \pgfkeys{/errors/unknown key={/tikz/data visualization/\tikz@dv@key}{#1}}% + \edef\pgf@temp{/errors/unknown key={/tikz/data visualization/\tikz@dv@key}}% + \expandafter\pgfkeys\expandafter{\pgf@temp{#1}}% \fi% }, /tikz/data visualization/data/.unknown/.code={% @@ -28,7 +29,8 @@ \pgfkeys{/pgf/data/\tikz@dv@key/.try={#1}}% \ifpgfkeyssuccess% \else% - \pgfkeys{/errors/unknown key={/pgf/data/\tikz@dv@key}{#1}}% + \edef\pgf@temp{/errors/unknown key={/pgf/data/\tikz@dv@key}}% + \expandafter\pgfkeys\expandafter{\pgf@temp{#1}}% \fi% } } @@ -775,7 +777,7 @@ \def\tikz@lib@dv@show@axis#1#2{% \scope[data visualization/axis layer,/tikz/data visualization/.cd,low=min,high=max,every axis/.try,#2] - \pgfkeysgetvalue{#1/scaling mapper}\tikz@dv@axis@mapper + \pgfkeysgetvalue{#1/scaling mapper}\tikz@dv@axis@mapper% % Ok, calculate direction vector: \tikzpointandanchordirection{\tikz@dv@axis@mapper.set in to(min)}{\tikz@dv@axis@mapper.set in to(max)} \xdef\tikz@dv@axis@dir{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}} @@ -1178,48 +1180,53 @@ \pgfkeysgetvalue{/tikz/data visualization/phase}\tikz@temp \pgfdvmathenter{\tikz@dv@lib@phase}{\tikz@temp} \pgfdvmathenter{\tikz@dv@lib@step}{\tikz@lib@dv@step} - % Compute start: - \pgfdvmathsub{\tikz@dv@lib@temp}{\pgfdvmin}{\tikz@dv@lib@phase}% temp = dvmin - phase - \pgfdvmathdiv{\tikz@dv@lib@temp}{\tikz@dv@lib@temp}{\tikz@dv@lib@step}% temp = temp/step - \pgfdvmathfloor{\tikz@dv@lib@temp}{\tikz@dv@lib@temp}% temp = floor(temp) - \pgfdvmathmul{\tikz@lib@dv@current}{\tikz@dv@lib@temp}{\tikz@dv@lib@step}% current = temp*step ... - \pgfdvmathadd{\tikz@lib@dv@current}{\tikz@lib@dv@current}{\tikz@dv@lib@phase}% + phase - \let\tikz@lib@dv@ats\pgfutil@empty% - \let\tikz@lib@dv@minor@ats\pgfutil@empty% - \tikz@lib@dv@mapper.get function(\tikz@temp)% - \ifx\tikz@temp\pgfutil@empty% - \pgfdvmathenter{\tikz@one@hundreth}{0.001}% - \pgfdvmathsub{\tikz@lib@temp}{\pgfdvmax}{\pgfdvmin}% - \pgfdvmathmul{\tikz@lib@dv@epsilon}{\tikz@lib@temp}{\tikz@one@hundreth}% epsilon = (max - min)/1000 - \else - \let\tikz@lib@dv@epsilon\pgfdvmathalwayszero - \fi - \pgfdvmathsub{\tikz@lib@dv@min@minus@epsilon}{\pgfdvmin}{\tikz@lib@dv@epsilon}% - \pgfdvmathadd{\tikz@lib@dv@max@plus@epsilon}{\pgfdvmax}{\tikz@lib@dv@epsilon}% - \pgfkeysgetvalue{/tikz/data visualization/minor steps between steps}\tikz@lib@dv@substeps% - \ifx\tikz@lib@dv@substeps\pgfutil@empty - \else - \pgfmathsetmacro\tikz@temp{\tikz@lib@dv@substeps+1}% - \pgfdvmathenter{\tikz@dv@lib@substeps}{\tikz@temp}% - \pgfdvmathdiv{\tikz@lib@dv@substep}{\tikz@dv@lib@step}{\tikz@dv@lib@substeps}% - \fi - \loop% - \ifx\tikz@lib@dv@substeps\pgfutil@empty% - \else% - \let\tikz@lib@dv@subcurrent=\tikz@lib@dv@current% - \pgfmathsetcount{\c@pgf@counta}{\tikz@lib@dv@substeps}% - \let\tikz@lib@dv@next=\tikz@lib@dv@subloop% - \tikz@lib@dv@subloop - \fi% - \pgfdvmathifless{\tikz@lib@dv@current}{\tikz@lib@dv@min@minus@epsilon}{}{% - \pgfdvmathexitbyserializing{\tikz@temp}{\tikz@lib@dv@current}% - \edef\tikz@lib@dv@ats{\tikz@lib@dv@ats,\tikz@temp}% - } - \pgfdvmathadd{\tikz@lib@dv@current}{\tikz@lib@dv@current}{\tikz@dv@lib@step}% - \pgfdvmathifless{\tikz@lib@dv@current}{\tikz@lib@dv@max@plus@epsilon}{\tikz@lib@dv@continuetrue}{\tikz@lib@dv@continuefalse}% - \iftikz@lib@dv@continue% - \repeat% - \tikzdatavisualizationset{major/.expanded={at={\tikz@lib@dv@ats}},minor/.expanded={at={\tikz@lib@dv@minor@ats}}}% + \pgfdvmathifless{\pgfdvmathalwayszero}{\tikz@dv@lib@step}{% + % Compute start: + \pgfdvmathsub{\tikz@dv@lib@temp}{\pgfdvmin}{\tikz@dv@lib@phase}% temp = dvmin - phase + \pgfdvmathdiv{\tikz@dv@lib@temp}{\tikz@dv@lib@temp}{\tikz@dv@lib@step}% temp = temp/step + \pgfdvmathfloor{\tikz@dv@lib@temp}{\tikz@dv@lib@temp}% temp = floor(temp) + \pgfdvmathmul{\tikz@lib@dv@current}{\tikz@dv@lib@temp}{\tikz@dv@lib@step}% current = temp*step ... + \pgfdvmathadd{\tikz@lib@dv@current}{\tikz@lib@dv@current}{\tikz@dv@lib@phase}% + phase + \let\tikz@lib@dv@ats\pgfutil@empty% + \let\tikz@lib@dv@minor@ats\pgfutil@empty% + \tikz@lib@dv@mapper.get function(\tikz@temp)% + \ifx\tikz@temp\pgfutil@empty% + \pgfdvmathenter{\tikz@one@hundreth}{0.001}% + \pgfdvmathsub{\tikz@lib@temp}{\pgfdvmax}{\pgfdvmin}% + \pgfdvmathmul{\tikz@lib@dv@epsilon}{\tikz@lib@temp}{\tikz@one@hundreth}% epsilon = (max - min)/1000 + \else + \let\tikz@lib@dv@epsilon\pgfdvmathalwayszero + \fi + \pgfdvmathsub{\tikz@lib@dv@min@minus@epsilon}{\pgfdvmin}{\tikz@lib@dv@epsilon}% + \pgfdvmathadd{\tikz@lib@dv@max@plus@epsilon}{\pgfdvmax}{\tikz@lib@dv@epsilon}% + \pgfkeysgetvalue{/tikz/data visualization/minor steps between steps}\tikz@lib@dv@substeps% + \ifx\tikz@lib@dv@substeps\pgfutil@empty + \else + \pgfmathsetmacro\tikz@temp{\tikz@lib@dv@substeps+1}% + \pgfdvmathenter{\tikz@dv@lib@substeps}{\tikz@temp}% + \pgfdvmathdiv{\tikz@lib@dv@substep}{\tikz@dv@lib@step}{\tikz@dv@lib@substeps}% + \fi + \loop% + \ifx\tikz@lib@dv@substeps\pgfutil@empty% + \else% + \let\tikz@lib@dv@subcurrent=\tikz@lib@dv@current% + \pgfmathsetcount{\c@pgf@counta}{\tikz@lib@dv@substeps}% + \let\tikz@lib@dv@next=\tikz@lib@dv@subloop% + \tikz@lib@dv@subloop + \fi% + \pgfdvmathifless{\tikz@lib@dv@current}{\tikz@lib@dv@min@minus@epsilon}{}{% + \pgfdvmathexitbyserializing{\tikz@temp}{\tikz@lib@dv@current}% + \edef\tikz@lib@dv@ats{\tikz@lib@dv@ats,\tikz@temp}% + } + \pgfdvmathadd{\tikz@lib@dv@current}{\tikz@lib@dv@current}{\tikz@dv@lib@step}% + \pgfdvmathifless{\tikz@lib@dv@current}{\tikz@lib@dv@max@plus@epsilon}{\tikz@lib@dv@continuetrue}{\tikz@lib@dv@continuefalse}% + \iftikz@lib@dv@continue% + \repeat% + \tikzdatavisualizationset{major/.expanded={at={\tikz@lib@dv@ats}},minor/.expanded={at={\tikz@lib@dv@minor@ats}}}% + }{% + \pgfdvmathexitbyserializing{\tikz@temp}{\pgfdvmin}% + \tikzdatavisualizationset{major/.expanded={at={\tikz@temp}}}% + }% \fi% } \newif\iftikz@lib@dv@continue @@ -1267,8 +1274,8 @@ \pgfdvmathenter{\tikz@lib@dv@about@val}{#1}% \pgfdvmathdiv{\tikz@lib@dv@around}{\tikz@lib@dv@diff}{\tikz@lib@dv@about@val}% % Make mantisse sensible - \pgfmathfloattomacro{\tikz@lib@dv@around}{\tikz@lib@dv@flags}{\tikz@lib@dv@mant}{\tikz@lib@dv@exp} - \pgf@xc=\tikz@lib@dv@mant pt% + \pgfmathfloattomacro{\tikz@lib@dv@around}{\tikz@lib@dv@flags}{\tikz@lib@dv@mant}{\tikz@lib@dv@exp}% + \pgf@xc=\tikz@lib@dv@mant pt % \pgfkeysgetvalue{/tikz/data visualization/about strategy}\tikz@lib@dv@strat \foreach \tikz@lib@dv@threshold/\tikz@lib@replace in \tikz@lib@dv@strat { @@ -1276,15 +1283,20 @@ \global\pgf@xc=\tikz@lib@replace pt% \breakforeach \fi - } + }% \ifdim\pgf@xc<10pt% - \pgfmathfloatcreate{\tikz@lib@dv@flags}{\pgf@sys@tonumber{\pgf@xc}}{\tikz@lib@dv@exp} + \pgfmathfloatcreate{\tikz@lib@dv@flags}{\pgf@sys@tonumber{\pgf@xc}}{\tikz@lib@dv@exp}% \else - \pgfmathsetmacro\tikz@lib@dv@exp{\tikz@lib@dv@exp+1} + \begingroup + \c@pgf@countd=\tikz@lib@dv@exp + \advance\c@pgf@countd by1 + \edef\tikz@lib@dv@exp{\the\c@pgf@countd}% + \pgfmath@smuggleone\tikz@lib@dv@exp + \endgroup \divide\pgf@xc by 10\relax - \pgfmathfloatcreate{\tikz@lib@dv@flags}{\pgf@sys@tonumber{\pgf@xc}}{\tikz@lib@dv@exp} + \pgfmathfloatcreate{\tikz@lib@dv@flags}{\pgf@sys@tonumber{\pgf@xc}}{\tikz@lib@dv@exp}% \fi - \pgfmathfloattofixed{\pgfmathresult} + \pgfmathfloattofixed{\pgfmathresult}% \let\tikz@lib@dv@step=\pgfmathresult } @@ -1441,7 +1453,7 @@ \tikz@dv@parse@unit@length@#1per1units\pgf@stop% \fi% } -\def\tikz@dv@parse@unit@length@#1per#2units{ +\def\tikz@dv@parse@unit@length@#1per#2units\pgf@stop{ \pgfkeysalso{\tikz@dv@axis/scaling=0 at 0 and #2 at #1} } |