95.91 日時データ入力書式 (timefmt)

このコマンドは、データが日時の形式になっている場合に、その時系列データ に適用されます。これはコマンド set *data time も与えられていないと意 味がありません。

書式:

     set timefmt "<format string>"
     show timefmt

文字列引数 (<format string>) は gnuplot に日時データをデータファイル からどのように読むかを指示します。有効な書式は以下の通りです:

時系列データ書式指定子
書式 説明
%d 何日, 1-31
%m 何月, 1-12
%y 何年, 0-99
%Y 何年, 4 桁
%j 1 年の何日目, 1-365
%H 何時, 0-24
%M 何分, 0-60
%s Unix epoch (1970-01-01, 00:00 UTC) からの秒数
%S 何秒 (出力では 0-60 の整数、入力では実数)
%b 月名 (英語) の 3 文字省略形
%B 月名 (英語)

任意の文字を文字列中で使用できますが、規則に従っている必要があります。 \t (タブ) は認識されます。バックスラッシュ + 8 進数列 ( \nnn) はそれが 示す文字に変換されます。日時要素の中に分離文字がない場合、%d, %m, %y, %H, %M, %S はそれぞれ 2 桁の数字を読み込みます。%S での読み込みで小数 点がそのフィールドについている場合は、その小数点つきの数を小数の秒指定 だと解釈します。%Y は 4 桁、%j は 3 桁の数字を読み込みます。%b は 3 文 字を、%B は必要な分だけの文字を要求します。

空白 (スペース) の扱いはやや違います。書式文字列中の 1 つの空白は、ファイル中の 0 個、あるいは 1 つ以上の空白文字列を表します。すなわち、 "%H %M""1220""12 20""12 20" と同じように読みます。

データ中の非空白文字の集まりそれぞれは、using n:n 指定の一つ一つの列 とカウントされます。よって 11:11 25/12/76 21.0 は 3 列のデータと認 識されます。混乱を避けるために、日時データが含まれる場合 gnuplot は、 あなたの using 指定が完璧なものであると仮定します。

日付データが曜日、月の名前を含んでいる場合、書式文字列でそれを排除しなければいけませんが、"%a", "%A", "%b", "%B" でそれらを表示することはできます。gnuplot は数値から月や曜日を正しく求めます。これら、及び日時 データの出力の他のオプションの詳細に関しては、以下参照: set format (p. [*])

2 桁の西暦を %y で読む場合、69-99 は 2000 年未満、00-68 は 2000 年以後と見なします。注意: これは、UNIX98 の仕様に合わせたものですが、この慣 例はあちこちで違いがあるので、2 桁の西暦値は本質的にあいまいです。

他の情報については、以下も参照: set xdata (p. [*]), time/date (p. [*])

例:

     set timefmt "%d/%m/%Y\t%H:%M"

は、gnuplot に日付と時間がタブで分離していることを教えます (ただし、 あなたのデータをよーく見てください。タブだったものがどこかで複数のスペ ースに変換されていませんか ? 書式文字列はファイル中に実際にある物と一致していなければなりません)。 以下も参照 時系列データ (time data) デモ。

竹野茂治@新潟工科大学
2019-05-30