PGFPlots 中带有“错误”图的指数函数

PGFPlots 中带有“错误”图的指数函数

在尝试使用 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}

该图显示了上述代码的结果

相关内容