TikZ 数据可视化错误,关闭数据括号后出现“缺少数字”

TikZ 数据可视化错误,关闭数据括号后出现“缺少数字”

您好,经过快速搜索后,我没有找到之前问过的这个确切的问题,但如果我忽略了什么,请告诉我。

我无法执行以下代码:

编辑:请注意该logarithmic部分,因为这对我来说很重要。如果我删除它,代码就可以正常工作。

\documentclass{standalone}
\usepackage{tikz}
    \usetikzlibrary{datavisualization.formats.functions}

\begin{document}

\begin{tikzpicture}
    \datavisualization [school book axes,
                x axis={logarithmic},
                y axis={logarithmic},
                visualize as smooth line]
    data [format=function] {
        var x : interval [0.01:5]; % EDITED: previously -5 but not main problem
        func y = \value x*\value x;
    };
\end{tikzpicture}

\end{document}

它给了我以下错误:

! Missing number, treated as zero.
<to be read again> 
                   n
l.15    };
        
?

尽管我努力寻找错误,但我还是找不到。我基本上复制了这段代码,只做了一些调整,但它还是不起作用。你能帮帮我吗?

答案1

该错误是由于 (实值) 对数函数在 x <= 0 处未定义而引起的。要控制轴长度和刻度之间的步长,您可以尝试类似 的轴选项length=5cm, ticks={about=5}

\documentclass[tikz]{standalone}
\usetikzlibrary{datavisualization.formats.functions}

\begin{document}

\begin{tikzpicture}
    \datavisualization [school book axes,
                x axis={length=6cm, ticks={about=2.5}},
                y axis={length=5cm, ticks={about=5}},
                visualize as line]
    data [format=function] {
        var x : interval [-5:5];
        func y = \value x*\value x;
    };
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案2

显然,问题出在 和school book axesx 值小于零的情况下。现在,将 axis-type 设置为 后,一切正常scientific

以下代码有效:

\documentclass{standalone}
\usepackage{tikz}
    \usetikzlibrary{datavisualization.formats.functions} % .formats.functions

\begin{document}

\begin{tikzpicture}
    \datavisualization [scientific axes,
                    x axis={logarithmic},
                    y axis={logarithmic},
                    visualize as line]
        data [format=function] {
            var x : interval [0.01:100];
            func y = \value x * \value x;
        };
\end{tikzpicture}

相关内容