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

# 文脈
2014 年の 12 月に `gnuplot-5.0` が[リリース][gp-release]されました．`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][gp-release]

注目すべきは `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][gnuplot] から Version 5.0 のダウンロードページに飛びます．現状ではどのバージョンをクリックしても[Source Forge のページ][gp-sourceforge]に飛ぶようです．ダウンロードが完了したら，自分がソフトウェアをビルドするために使っているディレクトリに解凍します．

```bash
cd path/to/hoge/directory
tar zxvf ~/Downloads/gnuplot-5.0.0.tar.gz
```
コンパイルにはビルドに最低限必要なパッケージの他，だいたい以下のパッケージが必要になります． PDF 出力が必要な場合は [PDFlib] を別途インストールする必要があります．`libreadline6-dev` は必須ではなかったと思いますが，個人的に GNU スタイルの補完が好きなので有効にします．

```bash
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 
```
以下の手順でビルド & インストールします．

```bash
cd gnuplot-5.0.0
./configure --with-readline=gnu
make -j 4
sudo make install
```
デフォルトの設定では `/usr/local/bin` にインストールされます．インストール先を変えたい場合には `./configure` のオプションで対応してください．インストール先にすでに `gnuplot` のバイナリがある場合には上書きされますのでご注意ください．


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

```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](https://qiita-image-store.s3.amazonaws.com/0/46396/9cf2881e-80da-ac6e-a4d7-f0c531de55ae.png "gnuplot-4.6 default")
<br/>

次に `gnuplot-5.0` のデフォルトの配色です．だいぶ落ち着いた色になりました．白背景だと黄色がすこし見づらいですが，明度が控えめなので `gnuplot-4.6` の配色に比べてだいぶ改善していると思います．
![g5.0.png](https://qiita-image-store.s3.amazonaws.com/0/46396/a5afe872-8519-c412-9046-89f443c0b657.png "gnuplot-5.0 default")
<br/>


最後に `gnuplot-5.0` の podo スタイルです．全体的に明暗がはっきりした配色になっています．
![g5.0_podo.png](https://qiita-image-store.s3.amazonaws.com/0/46396/8f908b9d-d26d-adc7-aad2-315babaf36cd.png "gnuplot-5.0 podo")


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


# 参考資料
- [gnuplot homepage][gnuplot]
- [GNUPLOT Version 5.0 Release Notes][gp-release]
- [gnuplot development - Source Forge][gp-sourceforge]
- [Ubuntu12.10 に gnuplot と octave をインストール - どせいけいさんき][install]

[gnuplot]: http://www.gnuplot.info/
[gp-release]: http://www.gnuplot.info/ReleaseNotes_5_0.html
[gp-sourceforge]: http://sourceforge.net/project/showfiles.php?group_id=2055
[PDFlib]: http://www.pdflib.com/pdflib-gmbh/
[install]: http://xr0038.hatenadiary.jp/entry/20121203/1354522919