你好,我正在尝试使用绘制4-x^2
区间内的抛物线。-2;2
tikz
如果我使用此代码,我就得不到想要的情节:
\begin{tikzpicture}[domain=0:2, scale = 0.75]
\draw[black, line width = 0.50mm] plot[smooth,domain=-2:2] (\x, {4-\x^2});
\end{tikzpicture}
如果我使用此代码,我就会得到所需的情节。
\begin{tikzpicture}[domain=0:2, scale = 0.75]
\draw[black, line width = 0.50mm] plot[smooth,domain=0:2] (\x, {4-\x^2});
\draw[black, line width = 0.50mm] plot[smooth,domain=-2:0] (\x, {4+\x^2});
\end{tikzpicture}
我的问题:谁能解释一下为什么第一个不起作用而第二个起作用吗?
谢谢
答案1
似乎 tikz 本身无法处理,\x^2
因此(\x)^2
标志会丢失。快速修复方法是使用\x*\x
似乎有效的,就像(\x)^2
更简单的方法是使用pgfplots
\documentclass[a4paper]{article}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.13}
\begin{document}
% bad
\begin{tikzpicture}[domain=0:2, scale = 0.75]
\draw[black, line width = 0.50mm] plot[smooth,domain=-2:2] (\x, {4-\x^2});
\end{tikzpicture}
% works
\begin{tikzpicture}[domain=0:2, scale = 0.75]
\draw[black, line width = 0.50mm] plot[smooth,domain=-2:2] (\x, {4-\x*\x});
\end{tikzpicture}
% works
\begin{tikzpicture}[domain=0:2, scale = 0.75]
\draw[black, line width = 0.50mm] plot[smooth,domain=-2:2] (\x, {4-(\x)^2});
\end{tikzpicture}
% even more fun
\begin{tikzpicture}
\begin{axis}[
domain=-2:2,
]
\addplot[no marks] {4-x^2};
\end{axis}
\end{tikzpicture}
\end{document}