gnuplotは,何も指定しないとき,1個以上の空白(連続する空白は1つとみなす)をデータの区切りとして,データを解釈する. 空白以外をデータの区切りとするときには,set data file separator を使って指定する. 例えば「:」が区切りのデータを使うときは,
gnuplot> set datafile separator ":"
日付や時間を使う.
岡山で観測された気温のデータ
/home/atmos/ipesc/sample/amedas/Okayama_Okayama_2018.csv
cat や less を使って中を見たらわかるが,これは「,」で区切られたCSV (comma-separated values)と呼ばれる形式のデータ. ファイル名に入っている4桁の数字は年. ファイルには,日付,日平均気温,日最高気温,日最低気温,以上4つが書かれている.
このデータは日付順に並んでいるので,とりあえず気温の季節変化を見るだけなら日付の代わりに行番号を使っても用は足りる
gnuplot> set datafile separator ',' gnuplot> plot '/home/atmos/ipesc/sample/amedas/Okayama_Okayama_2018.csv' using 0:2
日付を使ってみる.
gnuplot> set xdata time gnuplot> set timefmt "%m/%d" gnuplot> plot '/home/atmos/ipesc/sample/amedas/Okayama_Okayama_2018.csv' using 1:2
xdata time を使うときは,必ず using で列を指定しなければならない.
横軸は月を表示するだけにする.
gnuplot> set format x "%m" gnuplot> replot
日付や時間の書式を指定するとき,以下を使うことができる
%d 何日, 1-31 %m 何月, 1-12 %y 何年, 0-99 %Y 何年, 4 桁 %j 1 年の何日目, 1-365 %H 何時, 0-24 %M 何分, 0-60 %S 何秒, 0-60 %b 月名 (英語) の 3 文字省略形 %B 月名 (英語)
timefmt の使い方の例
gnuplot> set timefmt "%H:%M:%S" gnuplot> set timefmt "%Y-%m-%d" gnuplot> set timefmt "%Y/%m/%d %H:%M"