どせいたんさき。

ナスダヨー

プロットで軸ラベルのフォーマットを変更したい場合

gnuplot なら軸ラベルのフォーマットを変更するには専用のコマンドを用いればよい.

set format x "%3.1f"    ## 必ず小数点一桁まで表示
set format y "10^{%L}"  ## enhanced されていれば 10 の肩に指数が乗る

octave の場合は若干面倒で一度軸の値を抜き出してから自分でフォーマットする必要がある.

## 現在のプロットでの x 軸のラベルの値を Array で抜き出す
xticks = get(gca(), "xtick");

## 抜き出した値をもとにフォーマットした String Cell をつくる
for ii=length(xticks); xlabel{ii} = sprintf("%3.1f", xtick(ii)); end;

## 変更した軸のラベルをプロットに反映させる
set(gca(), "xticklabel", xlabel);

xlabel は Array ではなく Cell だというところがポイント.上の例で示したところの xticks を自前で設定すると好きな位置に目盛りを持ってくることができる.いちいちめんどくさいなーと思う人は sprintf の第一引数を変数にした関数を自前で作っておくといいかもしれません.でも octave はプロッターではないので仕方ないのかもしれません.

もっといい方法を知ってるぜ!という人はぜひ教えてください.