デフォルトのパレットが変わったので今すぐにでも gnuplot-5.0 にアップグレードすべき

  • 3
    Like
  • 0
    Comment
More than 1 year has passed since last update.

文脈

2014 年の 12 月に gnuplot-5.0リリースされました.dashtype の設定が加わったり色の設定で ARGB が有効になったり,ビットシフト演算子が定義されたりしています.個人的に一番注目しているのはデフォルトの配色が変更になったことです.

gnuplot-4.6 では set linetype という命令を実行することでデフォルトのカラーを変更できました.gnuplot-4.6 のヘルプメッセージには以下のような説明があります,

This mechanism can be used to define a set of personal preferences for the sequence of lines used in gnuplot. The recommended way to do this is to add to the run-time initialization file ~/.gnuplot a sequence of commands like

.gnuplot
 if ((GPVAL_VERSION < 4.5) \
 ||  (!strstrt(GPVAL_COMPILE_OPTIONS,"+USER_LINETYPES"))) \
     exit
 set linetype 1 lc rgb "dark-violet" lw 2 pt 0
 set linetype 2 lc rgb "sea-green"   lw 2 pt 7
 set linetype 3 lc rgb "cyan"        lw 2 pt 6 pi -1
 set linetype 4 lc rgb "dark-red"    lw 2 pt 5 pi -1
 set linetype 5 lc rgb "blue"        lw 2 pt 8
 set linetype 6 lc rgb "dark-orange" lw 2 pt 3
 set linetype 7 lc rgb "black"       lw 2 pt 11
 set linetype 8 lc rgb "goldenrod"   lw 2
 set linetype cycle 8

Every time you run gnuplot the line types will be initialized to these values. You may initialize as many linetypes as you like.

これまでは起動ファイルである .gnuplot に上記のコマンドを書き込むことで毎回 linetype を再定義する,あるいは毎回プロット時に色を指定する手法が主流でした.gnuplot-5.0 からはこの linetype を一括指定するための機能が実装されました.リリースノートから引用します.

The default color of individual line types can be changed using "set linetype" (introduced in 4.6). In version 5 a default overall color sequence can be selected using "set colors {default|classic|podo}". The "classic" sequence is red/green/blue/magenta/cyan/yellow as used by older gnuplot versions. The default and podo colors are chosen to be more easily distinguished in print and in particular by people with color vision problems.
GNUPLOT Version 5.0 Release Notes

注目すべきは gnuplot の定番となっていた red(#ff0000)/green(#00ff00)/blue(#0000ff)... といったデフォルトカラーが変更になったことです.後で紹介しますが,デフォルトのカラーはかなり目にやさしい配色になりました.set colors classic とコマンドを入力すれば昔ながらの配色に戻すこともできます.set colors podo と入力することで色弱の方にも認識しやすい配色に変更できます.

従来の "classic" な配色はもともと色数の少ないディスプレイに最適化されたものだと認識しています.#00ff00#ffff00 といったカラーを白背景に用いると視認性が悪く大変不評です.もし,あなたの周りにデフォルトの配色で視認性の悪いプロットを量産している方がいらっしゃったら gnuplot-5.0 をやんわりと勧めてみてはどうでしょうか.

インストール方法

ここでは Ubuntu 14.04 に gnuplot-5.0 をインストールするまでの手順をおさらいします.まずはソースコードをダウンロードしましょう.gnuplot homepage から Version 5.0 のダウンロードページに飛びます.現状ではどのバージョンをクリックしてもSource Forge のページに飛ぶようです.ダウンロードが完了したら,自分がソフトウェアをビルドするために使っているディレクトリに解凍します.

cd path/to/hoge/directory
tar zxvf ~/Downloads/gnuplot-5.0.0.tar.gz

コンパイルにはビルドに最低限必要なパッケージの他,だいたい以下のパッケージが必要になります. PDF 出力が必要な場合は PDFlib を別途インストールする必要があります.libreadline6-dev は必須ではなかったと思いますが,個人的に GNU スタイルの補完が好きなので有効にします.

sudo apt-get install libreadline6-dev
sudo apt-get install libgd2-xpm-dev libpango1.0-dev
sudo apt-get install libcairo2-dev libwxgtk2.8-dev 

以下の手順でビルド & インストールします.

cd gnuplot-5.0.0
./configure --with-readline=gnu
make -j 4
sudo make install

デフォルトの設定では /usr/local/bin にインストールされます.インストール先を変えたい場合には ./configure のオプションで対応してください.インストール先にすでに gnuplot のバイナリがある場合には上書きされますのでご注意ください.

使ってみた

せっかくなのでデフォルトの配色がどのように変わったのかを確認してみましょう.プロットは以下のコマンドで作成しました.

plot.gp
set terminal wxt font ",12"
set xr [0.1:10]; set xtics format "%3.1f"
set yr [0.1:10]; set ytics format "%3.1f"
set log x; set log y
set key bottom right 
set grid x y mx my
plot for [n=1:8] n*x lw 3 t sprintf("%dth-plot",n)

まずは gnuplot-4.6 から.#00ff00#00ffff といった色が目立ちます.
g4.6.png

次に gnuplot-5.0 のデフォルトの配色です.だいぶ落ち着いた色になりました.白背景だと黄色がすこし見づらいですが,明度が控えめなので gnuplot-4.6 の配色に比べてだいぶ改善していると思います.
g5.0.png

最後に gnuplot-5.0 の podo スタイルです.全体的に明暗がはっきりした配色になっています.
g5.0_podo.png

まとめ

gnuplot-5.0 ではデフォルトの配色が変更になりました.linecolor を明示的に指定しなくても白背景のスクリーンでそこそこ映える配色になりました.デフォルトの配色で視認性の悪いプロットを量産している方に gnuplot-5.0 へのアップグレードをやんわりとおすすめしましょう.

参考資料