我正在尝试使用 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 的要求)。