0

gnuplot を使用して、日時と温度を含む CSV ファイルをグラフ化しようとしましたが、動作すると奇妙な結果が生じていました (主に、グラフの真ん中の 1 行だけ)。これはコードです:

set xdata time
set timefmt '%Y-%m-%d %H:%M:%s'
set xrange["2013-05-29 00:00:00":"2013-06-04 00:00:00"]
set datafile separator ','
plot 'weather.csv' using 1:2

これはデータのサンプルです:

2013-05-29 18:30:00,20.0
2013-05-29 21:29:00,14.0
2013-05-29 22:29:00,13.0
2013-05-29 23:29:00,12.0
2013-05-30 08:28:00,13.0
2013-05-30 09:30:00,14.0

エラーが発生していました:

Can't plot with an empty x range!

そこで、コマンド ラインに次のコマンドを入力しました。

gnuplot> set xdata time
gnuplot> set timefmt '%Y-%m-%d %H:%M:%s'
gnuplot> set xrange["2013-05-29 00:00:00":"2013-06-04 00:00:00"]
gnuplot> show xrange

        set xdata time
        set xrange [ "1970-01-01 00:00:-946684800" : "1970-01-01 00:00:-946684800" ] noreverse nowriteback

gnuplot> show

私は何を間違っていますか?

ありがとう

4

1 に答える 1

2

それはあなたのtimefmt定義です。このドキュメンテーション
に よると、は次のように解釈されます 。%s

seconds since the Unix epoch (1970-01-01 00:00 UTC)

これは、あなたからの出力についても説明してshow xrangeいます。この日付の解釈では、あなたのxrange意志は空になります。

%S代わりに( )を使用するsecond, 0-60と、例はうまくプロットされます。

set timefmt '%Y-%m-%d %H:%M:%S'
于 2013-06-04T16:07:33.190 に答える