【gnuplot】目盛りを「(仮数)×10^(指数)」で表示する
コンピュータでの数値の表記方法は、大別すると2種類ある。ひとつは1000,2000,3000といったように全部の桁を表示する方法である。ただしこれは日常生活では気にならないが、桁数が増えてくると非常に見栄えが悪い。
もうひとつは1.0e+3,2.0e+3,3.0e+3,といったように「(仮数)e(指数)」で表記する方法である。これはたとえば「1.0e+3」は「1.0×10^3」を意味する。これは自然科学をやる人間にはなじみの表記法だ。
gnuplotで目盛りを設定する場合、デフォルトでは全部の桁を表示する小数表示か「(仮数)e(指数)」の指数表示は簡単に設定できる。しかし「(仮数)×10^(指数)」という表記をするには少し工夫が要る。
まず、小数点表示と指数表示のやり方について。目盛りの表記法を変えるにはset formatコマンドを使う。"%.3f"、"%.5E"のように使い、前者は小数点以下3桁を表示する小数点表示、後者は仮数部の小数点以下5桁を表示する指数表示を表す。これを
set format (座標軸)"%.3f"
のように使う。gnuplotでは引用符が必要なことが多い。
画像はy=exp(x)をプロットしたものだ。y軸目盛りの左側が"%.3f"、右側が"%.3E"と設定したものだ。
この画像自体は"%.3f %.3E"と設定した。このようにformatの設定は比較的自由に設定できる。たとえば"%.3f km"と打てば次のようになる。
最後に肝心の10の累乗表記だが、これには3点注意しないといけない点がある。まず、10の右肩に指数が乗った表記を使うには、terminalの設定を拡張する必要がある。具体的には最初の設定でターミナル名のあとに「enhanced」とつける。たとえばpngcairoをターミナルにしているときは
set terminal pngcairo enhanced font "font,14"
とする。こうすることでLaTeXのように上付き下付き文字やギリシャ文字、特殊記号を使えるようになる。
もうひとつの注意点だが、×というのは特殊記号になる。特殊記号を参照するときは、
{/Symbol \[番号])
とする。×の場合は264番なので{/Symbol \264}とする。
3点目だが、仮数と指数はそれぞれ%t,%Tで取り出すことができる。
以上3点を踏まえてうまく設定すると画像のようになる。どのように設定するかは演習としよう(答えは下にあります)。
正解:"%t{/Symbol \264}10^{%T}"