99.28.2 書式指定子 (format specifiers)

使用可能な書式 (時間/日付モードでない場合) は以下の通りです:

目盛りラベルの数値書式指定子
書式 説明
%f 固定小数点表記
%e, %E 指数表記; 指数の前に "e", "E" をつける
%g, %G %e (または %E) と %f の略記
%h, %H %g に "e%S" でなく "x10^{%S}" か "*10^{%S}" をつける
%x, %X 16 進表記
%o, %O 8 進表記
%t 10 進の仮数部
%l 現在の対数尺の底を基数とする仮数部
%s 現在の対数尺の底を基数とする仮数部; 補助単位 (scientific power)
%T 10 進の指数部
%L 現在の対数尺の底を基数とする指数部
%S 補助単位の指数部 (scientific power)
%c 補助単位文字
%b ISO/IEC 80000 記法 (ki, Mi, Gi, Ti, Pi, Ei, Zi, Yi) の仮数部
%B ISO/IEC 80000 記法 (ki, Mi, Gi, Ti, Pi, Ei, Zi, Yi) の接頭辞
%P πの倍数

補助単位 ('scientific' power) は、指数が 3 の倍数であるようなものです。 補助単位指数 ("%c") の文字への変換は -18 から +18 までの指数に対して サポートされています。この範囲外の指数の場合、書式は通常の指数形式に 戻ります。

ほかに使うことのできる修飾詞 ("%" と書式指定子の間に書くもの) には、 次のいくつかがあります: "-" は数字を左詰めにし、"+" は正の数にも符号を つけ、" " (空白一つ) は負の数に "-" をつけるべき場所に正の数の場合に空 白を一つつけ、"#" は小数点以下の数字が 0 だけであっても小数点をつけ、正の整数は出力幅を定め、出力幅指定の直前の "0" (文字でなく数字) は先頭 に空いた部分を空白で埋める代わりに 0 で埋め、小数点の後に非負の整数を 書いたものは精度を意味します (整数の場合は最小桁、小数の場合は小数点以下の桁数)。

これらの全ての修飾詞をサポートしていない OS もあるでしょうし、逆にこれ 以外のものをもサポートする OS もあるでしょう。疑わしい場合は、適切な資 料を調べ、そして実験してみてください。

例:

     set format y "%t"; set ytics (5,10)          # "5.0" と "1.0"
     set format y "%s"; set ytics (500,1000)      # "500" と "1.0"
     set format y "%+-12.3f"; set ytics(12345)    # "+12345.000  "
     set format y "%.2t*10^%+03T"; set ytic(12345)# "1.23*10^+04"
     set format y "%s*10^{%S}"; set ytic(12345)   # "12.345*10^{3}"
     set format y "%s %cg"; set ytic(12345)       # "12.345 kg"
     set format y "%.0P pi"; set ytic(6.283185)   # "2 pi"
     set format y "%.0f%%"; set ytic(50)          # "50%"


     set log y 2; set format y '%l'; set ytics (1,2,3)
     #"1.0", "1.0", "1.5" と表示される (3 は 1.5 * 2^1 なので)

丸めと指数が必要となるような書式で 9.999 の様な数字が書かれる場合は 問題が起こることがあります。

軸のデータ型が日時データ (time/date) の場合、書式文字列は 'strftime'関数 ('gnuplot' 外。"man strftime" としてみてください) に関する有効な 指定を行う必要があります。使える入力書式指定の一覧に関しては、以下参照:set timefmt (p. [*])

竹野茂治@新潟工科大学
2020-12-08