Я хочу построить простую экспоненциальную функцию 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,
}
В таких случаях результаты