タグ: グラフ

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

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

    gnuplotを準備

    gnuplot

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

    フォントの設定

    gnuplotウインドウに表示される文字が読みにくい場合はフォントを設定します。
    ウインドウ内でマウスを右クリックして「Choose Font…」を開く。

    gnuplot – Choose Font

    設定を保存

    フォントの種類やサイズを変更したら、設定内容を保存します。
    上記と同様に、ウインドウ内でマウスを右クリックして「Update … ***.ini」を選択。

    Update … *.ini

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

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

    男女別人口

    グラフを作成する範囲を選んで編集

    西暦と人口(数値)の必要な部分を選択して、ひとまず別のシートにコピー(貼り付け)
    不要な列を削除します。

    不要な列を削除

    セルのフォーマットを調整

    3桁ごとのカンマ区切りが邪魔になったりしますので、セルのフォーマットを変更して外しておきます。

    セルのフォーマット
    フォーマットの調整後

    CSV形式で保存

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

    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;

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

    Gnuplot window