您好,经过快速搜索后,我没有找到之前问过的这个确切的问题,但如果我忽略了什么,请告诉我。
我无法执行以下代码:
编辑:请注意该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 axes
x 值小于零的情况下。现在,将 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}