gnuplotで棒グラフを作ってみよう
gnuplotを使って棒グラフを作成し、画像ファイルとして保存します。以下のグラフの作成を目標にします。
gnuplotをインストールする
MacではHomebrewを使うことで簡単にインストールすることができます。
$ brew install gnuplot
棒グラフを作成する
データを準備する
sample-box.datというファイル名で保存しました。
1 "2016年" 9500 2 "2017年" 10800 3 "2018年" 11800 4 "2019年" 12100 5 "2020年" 16600
グラフを表示する
gnuplotを起動して、グラフを表示させます。
sample-box.datがカレントディレクトリにない場合は、ファイルパスを指定します。
$ gnuplot G N U P L O T Version 5.4 patchlevel 0 last modified 2020-07-13 Copyright (C) 1986-1993, 1998, 2004, 2007-2020 Thomas Williams, Colin Kelley and many others gnuplot home: http://www.gnuplot.info faq, bugs, etc: type "help FAQ" immediate help: type "help" (plot window: hit 'h') Terminal type is now 'qt' gnuplot> gnuplot> plot 'sample-box.dat' using 1:3:xtic(2) with boxes gnuplot>
棒グラフが表示されましたでしょうか?
x軸は"2016年"〜"2020年"で表示され、y軸はsample-box.datの3列目の値で棒グラフが作成されたと思います。
画像として保存する
set terminalおよび、set outputで出力先を指定してplotします。
gnuplot> set terminal png font "Sans,9" Terminal type is now 'png' Options are 'nocrop enhanced size 640,480 font "Sans,9.0" ' gnuplot> set output 'test-boxes.png' gnuplot> gnuplot> plot 'sample-box.dat' using 1:3:xtic(2) with boxes gnuplot>
test-boxes.pngファイルとしてグラフが保存されたでしょうか。
fontは皆さんの環境で日本語を表示できるものを選択してください。
棒グラフの出力を簡略化する
以下のようなファイルをpng_plot-boxes.txtとして保存します。
また、グラフのフォーマットも指定してみました。
set terminal png font "Sans,9" set output 'test-boxes.png' set boxwidth 0.5 set style fill solid unset key set title '年別の売り上げ額' set ylabel '(円)' # 以下数値の桁区切り set format "%'.0f" set decimalsign locale; set decimalsign "." plot [][0:] 'sample-box.dat' using 1:3:xtic(2) with boxes
以下のように実行することで、ファイル内のコマンドを一括で実行できます。
$ gnuplot png_plot-boxes.txt
gnuplotを起動し、loadコマンドを用いても同じ結果が得られます。
gnuplot> load 'png_plot-boxes.txt'
以下のような画像が保存されます。