使用 pgfplots 输出的图形不正确

使用 pgfplots 输出的图形不正确

我正在尝试使用 pgfplots 包绘制域为 [-2,2] 的 y=3^x+2 的图。

它是一个更大的文档的一部分,涉及相当多的软件包,正如您在 MWE(下面)中看到的那样。我已包含完整列表,以防软件包冲突或排序问题导致我的问题。

但是,运行 MWE 时,输出似乎不正确;例如当 x=0 时,y=2,而应该是 y=3。

我想了解我做错了什么导致了这种情况的发生,以及如何纠正它。

我对 LaTeX 的了解很少,对 TikZ/pgfplots 的了解更少(!),并且倾向于使用黑客技术,所以如果我的例子中有任何明显的错误或令人反感的编码,请在您的评论中保持温和。

这是我的 MWE:

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{array}
\usepackage{booktabs}
\usepackage{colortbl}
\usepackage{comment}
\usepackage{xcolor}
\usepackage{empheq}
\usepackage[inline]{enumitem}
\usepackage[top=1in, bottom=1.25in, left=1.5in, right=1in]{geometry}
\usepackage{mdframed} 
\usepackage{mathabx}
\usepackage{parskip}
\usepackage{titlesec}
\usepackage[normalem]{ulem}
\usepackage{pdfpages}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{tocloft}
\usetikzlibrary{arrows.meta}


\begin{document}
\begin{center}
    \begin{tikzpicture}
        \begin{axis}[restrict x to domain=-2:2,
                        axis y line=middle, 
                        axis x line=bottom,
                        xlabel=$x$,
                        ylabel={$y =3^x+2$},
                        x label style={at={(axis description cs:1.08,0.125)}},
                        y label style={at={(axis description cs:0.4,1.15)}},
                        xmin=-2.2,
                        xmax=2.2,
                        ymax=11.5,
                        ]
                \addplot[blue]{add(pow(3,x),2};
        \end{axis}
    \end{tikzpicture}
\end{center}
\end{document}

答案1

图表是正确的 --- 你的y轴从 2 开始,看:

\documentclass[a4paper,12pt]{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}


\begin{document}
\begin{center}
    \begin{tikzpicture}
        \begin{axis}[restrict x to domain=-2:2,
                        axis y line=middle, 
                        axis x line=bottom,
                        xlabel=$x$,
                        ylabel={$y =3^x+2$},
                        x label style={at={(axis description cs:1.08,0.125)}},
                        y label style={at={(axis description cs:0.4,1.15)}},
                        xmin=-2.2,
                        xmax=2.2,
                        ymax=11.5,
                        extra y ticks = {3},
                        % ymin=0,
                        ]
                        \addplot[blue, samples=100]{2+pow(3,x)};
        \end{axis}
    \end{tikzpicture}
\end{center}
\end{document}

在此处输入图片描述

如果你添加,ymin=0那么你可能得到你所期望的:

在此处输入图片描述

(顺便说一句,正如您所见,只需加载pgfplots就足以满足 MWE 的要求)。

相关内容