我想绘制一个简单的指数函数 2^x。我使用的代码如下。绘图触及 x 轴,我在该轴上设置了域的较低值,示例中为 -6。我做错了什么?
\documentclass{amsbook}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pgfplots} \pgfplotsset{compat=1.18} \usepgfplotslibrary{fillbetween}
\usepackage{tikz}
\begin{document}
\begin{figure}
\caption{$f(x) = 2^x$} \label{fig:Exp2x}
\begin{tikzpicture}
\begin{axis}[
mark=none,
domain= -6:2,
samples=20,
smooth,
axis x line=center,
axis y line=center,
xlabel=$x$, xlabel style={anchor=west}]
\addplot[thick] {2^x};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
答案1
还要添加 ymin=-.5,因此您的 ymin 不是为您的函数计算的值。完整代码:
\documentclass{amsbook}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pgfplots} \pgfplotsset{compat=1.18} \usepgfplotslibrary{fillbetween}
\usepackage{tikz}
\begin{document}
\begin{figure}
\caption{$f(x) = 2^x$} \label{fig:Exp2x}
\begin{tikzpicture}
\begin{axis}[
mark=none,
domain= -2:2,
samples=50,
smooth,
ymin=-.5,% <--
axis x line=center,
axis y line=center,
xlabel=$x$, xlabel style={anchor=west}]
\addplot[thick] {2^x};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
正确输出:
添加同样对于域 -4:2 您将看到预期的答案:
答案2
您需要定义图表中的横坐标。所选的默认位置axis lines
并非您所期望的位置。
如果没有明确定义横坐标的位置,则通过绘制函数域的起点定义的点进行绘制。也就是说,在 时domain=-5:2
它位于y(-5)
,在domain=-2:2
时它位于y(-2)
,但在 定义 时ymin=0
位于y=0
,在 时ymin=-1
它将位于y=0
。
根据这一事实,您将观察到在选定的轴线上,横轴之间的距离和ytick=1
前两种情况下的距离与其他轴线之间的距离不同ytick
。
因此,如果你将 MWE 重写为:
\documentclass{amsbook}
\usepackage{geometry}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepackage{tikz}
\begin{document}
\begin{figure}
\caption{$f(x) = 2^x$} \label{fig:Exp2x}
\pgfplotsset{ % common axis settings
width = 78mm, % that images are parallel
axis lines=center,
xlabel=$x$, xlabel style={anchor=west},
ymin=0, % <--- that abscisa go through y(0)
samples=101,
no marks,
}
\begin{tikzpicture}
\begin{axis}[
domain=-5:2,
]
\addplot +[thick] {2^x};
\end{axis}
\end{tikzpicture}
\quad
\begin{tikzpicture}
\begin{axis}[
domain=-2:2,
]
\addplot +[thick] {2^x};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
结果正如你所期望的:
您可能将此特征pgfplots
声明为错误,但在许多情况下这是需要的(例如在y(0)
不存在的对数轴处,即在负无穷处)。
为了更好地理解上述内容,请在为轴选择默认样式并向grid
轴添加选项时测试您的图表:
\pgfplotsset{ % common axis setings
width = 78mm, % that immages are parralel
grid, % to see grid
xlabel=$x$, xlabel style={anchor=west},
samples=101,
no marks,
}
在这种情况下,结果是