LoginSignup
9
12

More than 5 years have passed since last update.

PGF/TikZでグラフを描画するパッケージ"PGFPlots"のごくごく簡単な紹介

Posted at

はじめに

LaTeXとgnuplotを合わせて使っていると、「いちいちplotするためのコードを外部へ切り離しておくのは面倒だ」と感じる機会が往々にしてあります。
あるいは、「LaTeX文書の中でグラフの色・フォントを変更したいけども、gnuplotで事前にグラフを生成してるからどうにも…」という場面もあるでしょう。

そこで、グラフ描画をLaTeX(このパッケージはLaTeXのみならず、ConTeXt、plain TeXでも利用可能なのでこの言い方は厳密ではありません)で完結させるパッケージ、PGFPlotsを紹介します。
このパッケージは、PGF/TikZを最大限活用することでグラフ描画を行います。

公式Webサイトはこちら

このページに掲載したコードについて

以下のコードは全てLuaLaTeX + LuaTeX-jaの環境で検証しています。おそらく、日本でメジャーなpLaTeX + dvipdfmxでも同じコードが動くはずです。
また、例示したコードのうち、大部分は公式のPDFドキュメントから引用しています。

PGFPlotsの簡単な例

御託を並べるよりも、実際の例を見る方がわかりやすいでしょうから、次の例をご覧ください。

intro.tex
\documentclass{ltjsarticle}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}

\begin{document}

\begin{tikzpicture}
\begin{axis}
    \addplot {x^2};
\end{axis}
\end{tikzpicture}

\end{document}

このコードをコンパイルするだけで、
p1.png
このようなグラフを得ることができます。

また、3次元グラフも同じようにして、

intro.tex
\documentclass{ltjsarticle}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}

\begin{document}

\begin{tikzpicture}
\begin{axis}
    \addplot3 [surf] {sin(x) * sin(y)};
\end{axis}
\end{tikzpicture}

\end{document}

描くことができます。
p2.png

使い方

基本的には、

basic.tex
...
\pgfplotsset{compat=1.12}
\begin{axis}
# ここの間に色々書く
\end{axis}
...

で事足ります。

\pgfplotsset{compat=...}

これは、PGFPlotsの互換性を担保するためのものです。
現在配布されているPGFPlotsの最新バージョンは1.12.*なので、\pgfplotsset{compat=1.12}なら最新の機能を全て使えるようにしていると解釈できます。

昔のPGFPlotsのコードを保守している場合は、そのコードにあったバージョンを\pgfplotsset{compat=...}で指定してあげれば良いわけです(ただし、公式ドキュメントでは「compat=...には、1.3以上を指定するように」という但し書きがあります)。

axis環境

座標の目盛りを規定します。
対数目盛りを用いたい場合は、それぞれ semilog{x or y}axis環境(x or y軸をそれぞれ対数目盛りに)、logaxis環境(x軸、y軸の両方を対数目盛りに)を用います。
なお、axis(及びそれに類する)環境内に書くコマンドは、TikZでおなじみの通り文末を必ず";"で終わらせる必要があります。

\addplot & \addplot3d

指定した関数を描画します。
\addplot3dを使うと、3次元空間上でプロットされます。

尻切れとんぼですが、書く気力が尽きたので今日はこの辺で。

9
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
12