간단한 지수 함수 2^x를 플롯하고 싶습니다. 내가 사용하는 코드는 다음과 같습니다. 플롯은 도메인에 대해 더 낮은 값(예에서는 -6)을 설정한 x축에 도달합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
\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
예상한 위치에 있지 않습니다.
가로좌표의 명시적인 정의된 위치가 없으면 그리기 함수 영역의 시작점으로 정의된 점을 통해 그려집니다. 즉, at domain=-5:2
it lie at y(-5)
, at domain=-2:2
it lie at y(-2)
, 그러나 정의 ymin=0
at lie at y=0
및 at ymin=-1
it은 at 에 있을 것입니다 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,
}
그러한 경우 결과는 다음과 같습니다.