Quero traçar uma função exponencial simples 2 ^ x. O código que estou usando está abaixo. O gráfico atinge o eixo x onde defino o valor mais baixo para o domínio, -6 no exemplo. O que estou fazendo de errado?
\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}
Responder1
Adicione também ymin=-.5, para que seu ymin não seja o valor calculado para sua função. Código completo:
\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}
Saída correta:
ADICIONARTambém com o domínio -4:2 Você verá a resposta esperada:
Responder2
Você precisa definir onde está a abcissa em seu diagrama. Sua posição padrão selecionada axis lines
não está no lugar esperado.
Sem posição definida explícita da abcissa ela é traçada através do ponto definido pelo ponto inicial do domínio da função de desenho. Dizendo isso, mentir domain=-5:2
em y(-5)
, domain=-2:2
mentir em y(-2)
, mas definir ymin=0
mentir em y=0
e ymin=-1
mentirá em y=0
.
De acordo com estes fatos, você observará que nas linhas de eixo selecionadas a distância entre abcissas e ytick=1
nos dois primeiros casos são diferentes por serem distâncias entre outras ytick
s.
Então, se você reescrever seu MWE para:
\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}
o resultado é o que você esperava:
Este recurso pgfplots
você pode declarar como bug, mas em muitas situações isso é desejado (por exemplo, no eixo logarítmico onde y(0)
não existe, ou seja, está em menos infinito).
Para melhor compreensão do acima mencionado, teste seu diagrama quando, para o eixo, você seleciona o estilo padrão e adiciona grid
a opção ao eixo:
\pgfplotsset{ % common axis setings
width = 78mm, % that immages are parralel
grid, % to see grid
xlabel=$x$, xlabel style={anchor=west},
samples=101,
no marks,
}
Nesses casos os resultados são