TikZ + PGFPlots によるグラフ作成

TeXの文書を書いているときに,gnuplot等で描画した図を貼り込んでいると,
軸ラベルを変えたくなったとき,描画をやり直す羽目になり,悲しくなります.
そんなとき,TeXコード上で描画を行っていると,軸ラベルを変えるときも楽々です.
(計画的に図を書けばそんなことは起きませんが,(少なくとも私には) できません).
このページより,PGFPlots Galleryに載っている豊富な実例の方が参考になると思います.

準備

事前にやっておくべきことは,プリアンブルに,

\usepackage{pgfplots}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{arrows}

と書くだけです (簡単!).

とりあえず,簡単な例を挙げると,

\pgfplotsset{width=5cm}
\begin{tikzpicture}
\begin{axis}[compat=1.17,xlabel={$x$},ylabel={$y$},enlarge x limits=false]
\addplot[blue!55!black,mark=*] coordinates{(0,0)(1,1)(2,0)};
\addplot[red!85!black,mark=x,smooth] coordinates{(0,1)(1,0)(2,1)};
\addplot[green!55!black,mark=o,only marks] coordinates{(0,0.5)(1,0.5)(2,0.5)};
\end{axis}
\end{tikzpicture}

上記コードの意味を説明していきます:

\begin{axis} ~ \end{axis}
この環境宣言1つ毎に1枚の図が描画されます.
compat = 1.17
pgfplotsのバージョン1.17を利用するという宣言です.
xlabel = {#1}
横軸ラベルとして "#1" を出力します.横軸を指定するには ylabel を用います.
enlarge x limits = false
横方向の (図中の) 余白を無くします.デフォルトでは,上図の縦方向のように余白が入ります (最小値0,最大値1にも関わらず,図の描画範囲は [-0.1,1.1] ぐらいになっています).x を y に置き換えると縦方向の余白が無くなります.
\addplot
このコマンドで図内に1連のデータをプロットします.
blue!55!black
描画する際の色を指定します (この場合は青と黒を混ぜています).blueなどの原色を指定することも可能です.
mark=*
マーカーの形を規定します."*"の部分を変えることで多様なマーカーを用いることができます.
smooth, only marks
デフォルトではマーカーの間は同じ色の直線で結ばれるので, 滑らかにつなげたい場合はsmooth,マーカーのみをプロットしたい場合はonly marksを指定します.
coordinates{(x1,y1)...(xn,yn)}
(x1,y1),...,(xn,yn)を (並べた順に) プロットします.