pgfplots의 로그 축
axis를 semilogyaxis(y축 로그), semilogxaxis(x축 로그), loglogaxis(두 축 모두)로 바꾸거나, 일반 axis에 ymode=log나 xmode=log를 지정하세요.
y축의 로그 눈금
개수, 오차, 빈도처럼 배수로 늘어나는 값은 로그 눈금에서 가장 읽기 좋습니다. semilogyaxis는 x축을 선형으로 두고 y축을 로그로 만듭니다. 눈금은 10의 거듭제곱에 놓이고 $10^k$로 표시됩니다.
로그 y축 위의 지수적 증가
\begin{tikzpicture}
\begin{semilogyaxis}[xlabel={Day}, ylabel={Cells}, grid=major]
\addplot coordinates {(0,44) (1,120) (2,350) (3,980) (4,2700) (5,7600) (6,21000)};
\end{semilogyaxis}
\end{tikzpicture}이 그래프에서 직선은 단계마다 같은 배수로 일정하게 늘어난다는 뜻입니다.
두 축 모두 로그
loglogaxis는 두 축을 모두 로그로 만듭니다. $y = x^2$ 같은 거듭제곱 법칙은 지수를 기울기로 하는 직선이 됩니다.
로그-로그 그래프 위의 거듭제곱 법칙
\begin{tikzpicture}
\begin{loglogaxis}[xlabel=$n$, ylabel={Time (s)}, legend pos=north west]
\addplot coordinates {(10,0.001) (100,0.01) (1000,0.1) (10000,1)};
\addplot coordinates {(10,0.0001) (100,0.01) (1000,1) (10000,100)};
\legend{$O(n)$, $O(n^2)$}
\end{loglogaxis}
\end{tikzpicture}xmode와 ymode로 같은 결과 얻기
xmode=log와 ymode=log는 일반 axis에 로그 눈금을 줍니다. 스타일로 선택을 정하거나 그룹 그래프 안에서 쓸 때 편리합니다.
일반 축에 쓴 xmode=log
\begin{tikzpicture}
\begin{axis}[xmode=log, xlabel={Frequency (Hz)}, ylabel={Gain (dB)}, ymin=-30, ymax=5]
\addplot[blue, thick, domain=1:5, samples=60, variable=t]
({10^t}, {-10*log10(1 + (10^t/1000)^2)});
\end{axis}
\end{tikzpicture}수식도 로그 축에서 작동하지만, domain과 samples는 데이터 단위로 계산됩니다. 표본이 양 끝 사이에 고르게 퍼지므로, 로그 축에서는 거의 모두가 마지막 자릿수 구간에 몰립니다. 그래서 위 예제는 지수 t에 대한 매개변수 곡선을 $10^1$부터 $10^5$까지 그려 표본이 로그 축을 따라 고르게 퍼지게 합니다. pgfplots도 똑같이 동작합니다.
다른 밑
log basis y=2(또는 log basis x)는 밑을 바꿉니다. 그러면 눈금은 2의 거듭제곱에 놓이고 $2^k$로 표시됩니다.
y축의 밑을 2로
\begin{tikzpicture}
\begin{semilogyaxis}[log basis y=2, xlabel={Doublings}, ymin=1, ymax=64]
\addplot coordinates {(0,1) (1,2) (2,4) (3,8) (4,16) (5,32)};
\end{semilogyaxis}
\end{tikzpicture}로그 축의 옵션
| 옵션 | Scissor LaTeX에서 | 참고 |
|---|---|---|
semilogxaxis, semilogyaxis, loglogaxis | 작동함 | |
xmode=log, ymode=log | 작동함 | |
log basis x=b, log basis y=b | 작동함 | |
로그 축의 ymin, ymax | 작동함 | 양수를 지정하세요. |
log ticks with fixed point | 지원하지 않음 | 메시지를 남기고 무시하며, 레이블은 거듭제곱으로 남습니다. |
로그 축의 ybar stacked | 지원하지 않음 | 막대가 쌓이지 않고 겹쳐 그려지며, 메시지도 나오지 않습니다. |
| 0 이하의 값 | 제외됨 | 로그 눈금에 나타낼 수 없는 점은 메시지 하나와 함께 빠집니다. |
TeX 설치 환경과 다른 점
선형 축의 막대는 막대그래프를, 모든 옵션은 pgfplots 설명서를 보세요: ctan.org/pkg/pgfplots.
선 그래프, 그룹 그래프, 등고선과 히트맵도 함께 보세요.
질문과 답변
pgfplots에서 y축을 로그로 만들려면 어떻게 하나요?
axis 대신 \begin{semilogyaxis} ... \end{semilogyaxis}를 쓰거나, 축 옵션에 ymode=log를 넣으세요.
로그 그래프에 데이터가 왜 보이지 않나요?
로그 축은 0이나 음수를 나타낼 수 없습니다. 그런 값을 가진 점은 빠지며, 문제 탭에 그렇게 표시됩니다. 데이터를 이동하거나 선형 축을 쓰세요.
밑을 2나 e로 쓸 수 있나요?
네. log basis y=2(또는 log basis x=2.71828처럼 아무 양수)로 지정하세요.
이 페이지의 모든 예제는 사이트를 빌드할 때 Scissor LaTeX로 조판됩니다. 마지막 업데이트: 2026-11-07