在尝试使用 PGFPlots 时,我发现了一个有点奇怪的问题:
我想要绘制给出的函数f(x) = 2^x
,因此我输入:
\begin{tikzpicture}
\begin{axis}[ axis x line = center,
axis y line = center,
xmin = 0,
xmax = 4,
xlabel = {$x$},
ylabel = {$y$},
ticks = none,
width=6cm]
\addplot[ smooth,
domain = 0:3]
plot (\x,{2^(\x)});
\end{axis}
\end{tikzpicture}
起初,我很高兴代码可以运行,但仔细观察后,我意识到 PGF 说的是f(0)= 2^0 = 0
,这显然是错误的,因为它应该是 1。我试着玩弄一下该行中的括号:
plot (\x,{2^(\x)});
但它不起作用。这可能是什么原因造成的?我怀疑这是某种缩放问题(好像图被缩小了很多),因为我使用了该width=6cm
选项,但删除它似乎并不能解决问题。有什么建议吗?
答案1
正如 percusse 所提到的他的评论这是因为您(未)使用了选项组合,即提供了ticks=none
但未设置ymin
。重新打开ticks
和/或设置ymin
将显示 PGFPlots 计算正确的值。
另外我想指出的是,您可以简化提供给处理程序的方程式\addplot
。“您的版本”主要用于参数图。
\documentclass[border=2mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis x line=center,
axis y line=center,
xmin=0,
xmax=4,
ymin=0, % <-- added
xlabel={$x$},
ylabel={$y$},
% ticks = none,
smooth,
domain=0:3,
]
% original version
\addplot [] (\x,{2^(\x)});
% simplified version
\addplot+ [only marks,mark size=1pt] {2^x};
\end{axis}
\end{tikzpicture}
\end{document}