본문으로 건너뛰기

pgfplots의 로그 축

axis를 semilogyaxis(y축 로그), semilogxaxis(x축 로그), loglogaxis(두 축 모두)로 바꾸거나, 일반 axis에 ymode=log나 xmode=log를 지정하세요.

y축의 로그 눈금

개수, 오차, 빈도처럼 배수로 늘어나는 값은 로그 눈금에서 가장 읽기 좋습니다. semilogyaxis는 x축을 선형으로 두고 y축을 로그로 만듭니다. 눈금은 10의 거듭제곱에 놓이고 $10^k$로 표시됩니다.

로그 y축 위의 지수적 증가

LaTeX프리앰블: \usepackage{pgfplots}편집기에서 열기 (새 탭에서 열림)
\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$ 같은 거듭제곱 법칙은 지수를 기울기로 하는 직선이 됩니다.

로그-로그 그래프 위의 거듭제곱 법칙

LaTeX프리앰블: \usepackage{pgfplots}편집기에서 열기 (새 탭에서 열림)
\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}
Scissor LaTeX로 조판: 로그-로그 그래프 위의 거듭제곱 법칙

xmode와 ymode로 같은 결과 얻기

xmode=log와 ymode=log는 일반 axis에 로그 눈금을 줍니다. 스타일로 선택을 정하거나 그룹 그래프 안에서 쓸 때 편리합니다.

일반 축에 쓴 xmode=log

LaTeX프리앰블: \usepackage{pgfplots}편집기에서 열기 (새 탭에서 열림)
\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}
Scissor LaTeX로 조판: 일반 축에 쓴 xmode=log

수식도 로그 축에서 작동하지만, domain과 samples는 데이터 단위로 계산됩니다. 표본이 양 끝 사이에 고르게 퍼지므로, 로그 축에서는 거의 모두가 마지막 자릿수 구간에 몰립니다. 그래서 위 예제는 지수 t에 대한 매개변수 곡선을 $10^1$부터 $10^5$까지 그려 표본이 로그 축을 따라 고르게 퍼지게 합니다. pgfplots도 똑같이 동작합니다.

다른 밑

log basis y=2(또는 log basis x)는 밑을 바꿉니다. 그러면 눈금은 2의 거듭제곱에 놓이고 $2^k$로 표시됩니다.

y축의 밑을 2로

LaTeX프리앰블: \usepackage{pgfplots}편집기에서 열기 (새 탭에서 열림)
\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