次のログを生成するアプリケーションがあります。
14:48:16, 41.0
14:50:01, 40.0
14:54:01, 41.0
14:54:04, 40.0
14:55:10, 41.0
14:55:22, 40.0
15:00:13, 41.0
...
現在時刻と測定温度です。温度が変化すると、アプリケーションはログファイルに1行を記録します。
gnuplotで温度を表示したいです。以下を試しました。
set xdata time
set timefmt "%H:%M:%S"
set yrange [30:50]
set xrange ["14:40":"16:50"]
plot 'temp.csv' using 1:2 with lines
次のグラフを示します。
しかし、線が水平になり、温度変化に応じて階段を形成したいと思います。結果は青い線に似ているはずです。
gnuplotにこれを行うにはどうすればよいですか?ログの前処理で行うことができますが、可能であればgnuplotで行います。
ベストアンサー1
Gnuplotにはデータを表示するためのさまざまなスタイルがあります。このwith lines
オプションは、各データポイントを線で接続します。データのシームレスな変更に適しています。
この時点から次の変化まで、有効な時間と値を含むデータをヒストグラムで描画できます。with steps
このオプションを指定すると、Gnuplotはヒストグラムを描画します。したがって、完全なコマンドは次のようになります。
plot 'temp.csv' using 1:2 with steps
良いドキュメントと例は次の場所にあります。http://lowrank.net/gnuplot/intro/style-e.html。