4.3 Gnuplot で作った図

gnuplot で、数値データの plot を行うこともしばしばある。 その図を取り込んでみよう。

画面に描画してから

  1. set term でデータのフォーマットを指定して
  2. set output "ファイル名" でファイル名を指定して
  3. replot (再描画する)
  4. quit (終了する)
とするのが基本である。

終了しない場合は、事前に (1. の前に) set term push として、 replot の後に set term pop として、 term の値を元に戻すこと。

グラフのような線画には、データ形式として、 とりあえず PDF を勧めておきます1

sincos.c

/*
cc -o sincos sincos.c
./sincos > sincos.txt

以下は gnuplot のコマンド (replot すると、sincos.pdf というファイルを出力)

plot "sincos.txt" using 1:2 with lp title "sin", "sincos.txt" using 1:3 with lp title "cos"
set term pdf
set output "sincos.pdf"
replot
quit

 */
#include <stdio.h>
#include <math.h>

int main(void)
{
  int i, n;
  double pi, x;
  pi = 4 * atan(1.0);
  n = 90;
  for (i = 0; i <= n; i++) {
    x = i * (pi / 180.0);
    printf("%2d %f %f\n", i, sin(x), cos(x));
  }
  return 0;
}

ターミナルで実行して、ファイルを入手する
curl -O http://nalab.mind.meiji.ac.jp/~mk/program/tex/sincos.c

このプログラムを注釈にあるように、コンパイル&実行して “sincos.txt” を作り、 さらに gnuplot を起動して、コマンドを実行すると、 “sincos.pdf” というファイルが出来る。

その取り込みは、写真の取り込みと同様で
sincos.pdf の取り込み
\begin{figure}[htbp]
 \centering
 \includegraphics[width=10cm]{sincos.pdf}
 \caption{$\sin$, $\cos$ のグラフ (gnuplotによる)}
\end{figure}

図: $ \sin$, $ \cos$ のグラフ (gnuplotによる)
Image sincos

桂田 祐史
2019-11-22