- not so Frequently Asked Questions - update 2004/11/15
|
|
not so FAQ |
日付/時間型データの表示時系列型データを用意する.データが日にちや時間となっている時系列データをプロットするには,まず set xdata time や set ydata time を使ってデータ が日付型であることgnuplotに教え,さらに set timefmt で日 付/時間の表示がどのようになっているかを与える必要があります.始めに データとしては以下のようなものを考えます. 2004-02-09 310 2004-02-10 185 2004-02-11 239 2004-02-12 132 2004-02-13 85 2004-02-14 57 2004-02-15 8 この日付のデータをgnuplotに読み込ませるには,timefmtとして "%Y-%m-%d" を与えます.この例では月と日にちが10未満の時に頭にゼロを パディングして桁数をそろえていますが,これをしなくとも(例えば 2004-2-9というデータでも)同じフォーマットで正しく読み込まれます. gnuplot> set xdata time gnuplot> set timefmt "%Y-%m-%d" gnuplot> plot "sample.dat" using 1:2 with boxes gnuplotでは日付/時間型データをかなり柔軟に読み込めるようになっていま す.ファイル中のデータ表式と timefmtで与えるフォーマットの 対応の例を以下に挙げます.
出力文字列を整える.gnuplotは日付/時間型のデータをX座標データとして読み込むと,そのデー タに合った形でX軸にメモリを表示します.上の一週間分のデータの例なら, "月/日"が出力されます.しかしながら,ここではやや余分な"00:00"とい う時間まで表示されています.出力の表示形式を制御するには set format を用います.ここでのフォーマット指定は通常の数値出力とは異なり,UNIXのライブラリ strftime関数でのフォーマットとなります. gnuplot> set xdata time gnuplot> set timefmt "%Y-%m-%d" gnuplot> set format x "%b/%a" gnuplot> plot "sample.dat" using 1:2 with boxes 上の表に挙げたフォーマットに加えて,この例のように "%a" という timefmtにはない,曜日を出力するフォーマットを指定すること が可能です.詳しくはstrftime関数のマニュアルを参照してください.色々 な出力が可能ですが,現実的には上の表に挙げてあるような Y, y, m, d, H, M, S で十分では無いでしょうか. |