本文へ移動

pgfplots の基本:LaTeX のグラフを例で学ぶ

pgfplots を読み込み、tikzpicture の中に axis を置いて、各データ系列を座標の列か数式で \addplot で追加します。

いちばん小さなグラフ

pgfplots のグラフはどれも同じ 3 層でできています。tikzpicture、その中の axis、そしてデータ系列ごとに 1 つの \addplot です。パッケージはプリアンブルで \usepackage{pgfplots} と書いて読み込みます。

線で結んだ 4 つの点

LaTeXプリアンブル: \usepackage{pgfplots}エディタで開く (新しいタブで開きます)
\begin{tikzpicture}
  \begin{axis}
    \addplot coordinates {(0,1) (1,3) (2,2) (3,4)};
  \end{axis}
\end{tikzpicture}

軸の範囲と目盛りは、データから自動的に決まります。オプションなしの \addplot は、色とマーカーをデフォルトのサイクルリストから取ります。1 つ目の系列は青で丸のマーカー、2 つ目は赤で四角、という具合です。

数式をプロットする

座標の代わりに、波かっこで囲んだ数式を \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 の中のグラフ

1 つの 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