99.23 小数点設定 (desimalsign)

コマンド set decimalsign は、目盛りの見出し、あるいは set label 文 字列に書かれる数の小数点記号を選択します。

書式:

     set decimalsign {<value> | locale {"<locale>"}}
     unset decimalsign
     show decimalsign

引数 <value> は、通常の小数点記号に置き換えて使う文字列です。典型的な ものはピリオド '.' やコンマ ',' ですが他にも有用なものがあるでしょう。 引数 <value> を省略すると、小数点の区切りはデフォルト (ピリオド) から 変更されません。unset decimalsign も <value> を省略するのと同じ効果を 持ちます。

例:

多くのヨーロッパ諸国での正しい出力形式を得るには:

     set decimalsign ','

次のことに注意してください: 明示的な文字列を設定した場合、これは軸の目 盛りなどの gnuplot の gprintf() 書式関数で出力される数値のみに影響し、 入力データの書式指定や sprintf() 書式関数で出力される数値には影響しま せん。それらの入力や出力の形式の挙動も変更したい場合は、代わりに以下を使用してください:


     set decimalsign locale

これは、gnuplot に、入力と出力の書式を、環境変数 LC_ALL, LC_NUMERIC, LANG の現在の設定に従ったものを使わせるようにします。


     set decimalsign locale "foo"

これは、gnuplot に、入力と出力の書式を、ロケール "foo" に従ったものに しますが、そのロケールがインストールされている必要があります。もしロケ ール "foo" が見つからなかった場合、エラーメッセージが出力され、小数点 の設定は変更されません。linux システム上では、そこにインストールされて いるロケールの一覧は "locale -a" で見ることができます。linux のロケー ル文字列はだいたい "sl_SI.UTF-8" のような形式をしていますが、Windows のロケール文字列は "Slovenian_Slovenia.1250"、または "slovenian" のよ うな形式です。ロケール文字列の解釈は、C のランタイムライブラリが行うこ とに注意してください。古い C ライブラリでは、ロケール設定のサポート (例えば数字の 3 桁毎の区切り文字など) を部分的にしか提供していないかも しれません。


     set decimalsign locale; set decimalsign "."

これは、現在のロケールに合ったどんな小数点でも、全ての入出力に対して使 用するように設定しますが、gnuplot の内部関数 gprintf() を使って書式化 する数値は明示的に指定された '.' になります (上書き)。

竹野茂治@新潟工科大学
2020-05-27