본문으로 건너뛰기

pgfplots 기초: 예제로 배우는 LaTeX 그래프

pgfplots를 불러오고, tikzpicture 안에 axis를 연 다음, 데이터 계열마다 \addplot을 좌표 목록이나 수식으로 추가하세요.

가장 작은 그래프

모든 pgfplots 그래프는 같은 세 층으로 이루어집니다. tikzpicture, 그 안의 axis, 데이터 계열마다 하나씩 쓰는 \addplot입니다. 프리앰블에서 \usepackage{pgfplots}로 패키지를 불러오세요.

선으로 이은 네 점

LaTeX프리앰블: \usepackage{pgfplots}편집기에서 열기 (새 탭에서 열림)
\begin{tikzpicture}
  \begin{axis}
    \addplot coordinates {(0,1) (1,3) (2,2) (3,4)};
  \end{axis}
\end{tikzpicture}

축은 데이터를 보고 범위와 눈금을 스스로 정합니다. 옵션 없는 \addplot은 기본 순환 목록(cycle list)에서 색과 마커를 가져옵니다. 첫 번째 계열은 동그란 마커의 파란색, 두 번째는 사각형 마커의 빨간색, 이런 식입니다.

수식으로 그리기

좌표 대신 중괄호 안에 수식을 \addplot에 넘기세요. domain은 x의 범위를, samples는 점의 개수를 정합니다. 둘 다 없으면 pgfplots는 -5에서 5까지의 범위와 25개의 표본을 씁니다.

domain과 samples를 지정한 함수

LaTeX프리앰블: \usepackage{pgfplots}편집기에서 열기 (새 탭에서 열림)
\begin{tikzpicture}
  \begin{axis}
    \addplot[blue, thick, domain=-2:2, samples=60] {x^3 - 2*x};
  \end{axis}
\end{tikzpicture}

\addplot 뒤 대괄호 안의 옵션은 그 계열의 스타일을 정합니다. + 없이 옵션을 주면 계열은 마커 없이 검은색(또는 지정한 색)으로 그려지고, \addplot+[...]는 순환 목록의 스타일을 유지한 채 옵션을 덧붙입니다.

레이블, 제목, 범례, 격자

이 옵션들은 axis에 붙으므로 그래프 전체에 적용됩니다.

축 레이블, 제목, 범례, 격자

LaTeX프리앰블: \usepackage{pgfplots}편집기에서 열기 (새 탭에서 열림)
\begin{tikzpicture}
  \begin{axis}[
      title={Cooling of a cup of tea},
      xlabel={Time (min)},
      ylabel={Temperature ($^\circ$C)},
      grid=major,
      legend pos=north east,
    ]
    \addplot coordinates {(0,80) (5,64) (10,53) (15,44) (20,38)};
    \addlegendentry{Measured}
    \addplot[red, domain=0:20, samples=40] {22 + 58*exp(-0.08*x)};
    \addlegendentry{Model}
  \end{axis}
\end{tikzpicture}
Scissor LaTeX로 조판: 축 레이블, 제목, 범례, 격자

레이블은 텍스트이므로 수식은 문단에서처럼 $ ... $ 사이에 씁니다. 각 \addplot 뒤의 \addlegendentry는 그 계열에 이름을 붙입니다. 끝에 \legend{Measured, Model}로 모든 이름을 한꺼번에 적을 수도 있습니다.

자주 쓰는 축 옵션

옵션하는 일Scissor LaTeX에서
xlabel, ylabel, title축을 따라 붙는 텍스트와 그래프 위의 제목작동함
xmin, xmax, ymin, ymax보이는 범위 고정작동함
width, height그림 전체 크기, 예: width=\linewidth작동함
grid=major, grid=both주 눈금(과 보조 눈금)의 격자선작동함
xtick={0,1,2}, xticklabels={a,b,c}눈금과 그 레이블 지정작동함
legend pos=north westnorth west, north east, south west, south east, outer north east작동함
axis lines=left상자 대신 화살표가 달린 L자 모양 축작동함(middle, center, none도 가능)
enlargelimits=false데이터 주변에 여백을 두지 않음작동함
axis equal두 축에 같은 축척아직 지원하지 않음: 문제 탭에 메시지를 남기고 무시

pgfplots 설명서의 다른 옵션도 대부분 작동합니다. 스타일과 마커는 선 그래프 페이지에 정리되어 있습니다. 렌더러가 모르는 옵션은 무시되며, 문제 탭에 그 이름이 나옵니다.

크기와 배치

그래프는 기본적으로 pgfplots 기본값인 약 240 × 207포인트 크기입니다. 바꾸려면 축에 width와 height를 지정하세요. 그래프에 캡션과 번호를 붙이려면 이미지처럼 tikzpicture를 figure 안에 넣으세요.

캡션이 있는 figure 속 그래프

LaTeX프리앰블: \usepackage{pgfplots}편집기에서 열기 (새 탭에서 열림)
\begin{figure}[h]
  \centering
  \begin{tikzpicture}
    \begin{axis}[width=7cm, height=4.5cm, xlabel=$x$, ylabel=$x^2$]
      \addplot[domain=0:2, samples=30] {x^2};
    \end{axis}
  \end{tikzpicture}
  \caption{A parabola on $[0, 2]$.}
  \label{fig:parabola}
\end{figure}

Figure~\ref{fig:parabola} shows the parabola.
Scissor LaTeX로 조판: 캡션이 있는 figure 속 그래프

tikzpicture 하나를 \resizebox{0.5\linewidth}{!}{...}로 감싸는 방법도 작동합니다. 그림이 그 너비에 맞게 확대·축소됩니다.

TeX 설치 환경과 다른 점

이 페이지의 모든 내용은 pgfplots가 있는 TeX 설치 환경에서도 컴파일됩니다. 전체 설명서는 CTAN에 있습니다: ctan.org/pkg/pgfplots.

질문과 답변

pgfplots를 설치해야 하나요?

아니요. 평소처럼 \usepackage{pgfplots}라고 쓰세요. Scissor LaTeX가 패키지를 알아보고 브라우저에서 그래프를 직접 그립니다.

함수 그래프가 왜 각져 보이나요?

pgfplots는 기본적으로 점 25개를 잇습니다. 더 매끄러운 곡선을 원하면 \addplot이나 축에 samples=100(또는 그 이상)을 넣거나, smooth를 넣어 점들을 지나는 곡선을 그리세요.

tikzpicture 없이 pgfplots를 쓸 수 있나요?

아니요. LaTeX에서 axis 환경은 항상 tikzpicture 안에 있어야 합니다. Scissor LaTeX도 같은 규칙을 따르므로, 코드는 다른 곳에서도 컴파일됩니다.

이 페이지의 모든 예제는 사이트를 빌드할 때 Scissor LaTeX로 조판됩니다. 마지막 업데이트: 2026-11-07