设置 \datavisualization 的大小

设置 \datavisualization 的大小

我正在尝试绘制函数 f(x)\datavisualization像这样 使用

\datavisualization [school book axes,
                visualize as smooth line,
                y axis={label},
                x axis={label} ]
data [format=function] {
  var x : interval [0:60] samples 60;
  func y = -(1/300000)*(\value x)^4 + (113/240000)*(\value x)^3 - (1063/48000)*(\value x)^2 + (1253/3200)*(\value x) - (871/640);
};

但是,我收到一个错误,提示我图太大(Dimension too large.<to be read again>\relax l.87 };)。

我怎样才能正确地绘制这个函数?

答案1

tikz 用户指南对数字准确性有以下说明:

在此处输入图片描述

这意味着通过使用(...)您将回落到 tex 精度并遇到数字过大的问题。

你可以用这个技巧来避免这个问题是否可以使用 TikZ 数据可视化绘制复杂函数?

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{datavisualization.formats.functions}
\newcommand{\pgfmathparseFPU}[1]{\begingroup%
\pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
\pgfmathparse{#1}%
\pgfmathsmuggle\pgfmathresult\endgroup}

\begin{document}

\begin{tikzpicture}
\datavisualization [school book axes,
                visualize as smooth line,
                y axis={label},
                x axis={label},
                /pgf/data/evaluator=\pgfmathparseFPU,
                x axis={length=.8\linewidth, ticks=few}
                 ]
data [format=function] {
  var x : interval [0:60] samples 60;
  func y = -1/300000*(\value x)^4 + 113/240000*(\value x)^3 - 1063/48000*(\value x)^2 + 1253/3200*(\value x) - (871/640);
};

\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容