gnuplot でデータをプロットしてみる

gnuplotを使って、総務省の統計データ(人口推計)をグラフにしてみます。

gnuplotを準備

gnuplotのウェブサイトから
gnuplotをダウンロードして展開します。
gnuplot/binary というフォルダの中に
wgnuplot.exe
というプログラムがありますのでそれを起動。

  • フォントの設定
    gnuplotウインドウに表示される文字が読みにくい場合はフォントを設定します。
    ウインドウ内でマウスを右クリックして「Choose Font…」を開く。
  • 設定を保存
    フォントの種類やサイズを変更したら、設定内容を保存します。
    上記と同様に、ウインドウ内でマウスを右クリックして「Update … ***.ini」を選択。

データファイル(CSV形式)を準備

総務省統計局のウェブサイトからデータ(Excel形式)をダウンロードします。

  • グラフを作成する範囲を選んで編集
    西暦と人口(数値)の必要な部分を選択して、ひとまず別のシートにコピー(貼り付け)
    不要な列を削除します。
  • セルのフォーマットを調整
    3桁ごとのカンマ区切りが邪魔になったりしますので、セルのフォーマットを変更して外しておきます。

    フォーマットの調整後
  • CSV形式で保存
    データが整ったらCSV形式で保存します。
    画面はLibreOffice Calcの例です。Excelの場合も同様にCSV形式で保存します。

データをプロット

準備が整いましたのでデータファイルを使ってプロットします。
gnuplot(wgnuplot.exe)の画面に戻ります。
gnuplotのプロンプトでデータファイル(CSV形式)を保存したフォルダに移動します。

gnuplot> cd "/users/(ユーザ名)/documents/gnuplot"
※(ユーザ名)は適宜読み替えてください。

セパレータを変更します。
デフォルトでは空白(whitespace)になっていますので、カンマに切り換えます。

gnuplot> set datafile separator ","

カンマに切り換えないと

 warning: Skipping data file with no valid points
 x range is invalid

のようなエラーメッセージが表示されます。
デフォルト(空白区切り)に戻す場合は、

gnuplot> set datafile separator whitespace
または
gnuplot> set datafile separator

と入力します。その他に、

タブ区切り
gnuplot> set datafile separator "\t"
または他の区切り文字を指定する場合
gnuplot> set datafile separator "(区切り文字)"

そしてプロットを実行します。
1列目をx軸に、2列目をy軸にする場合。

gnuplot> plot "datafile.csv" using 1:2 with linespoints;

1列目をx軸に、3列目と4列目をy軸にする場合。

gnuplot> plot "datafile.csv" using 1:3 with linespoints, "datafile.csv" using 1:4 with linespoints;

これで次のようなグラフが出来上がります。

コメント投稿は締め切りました。