4

テキストファイルにいくつかの温度データがあり、それを「ボックス化された」プロットで表現して、ヒストグラムのように毎日の温度を表示したいと思います。

23 10 2012 12.3
28 10 2012 14.1
30 11 2012 30.4
...

私はそれを次のような単純なgnuplotスクリプトで表現しようとしています:

set terminal png enhanced font font_file size size_x, size_y tiny
set xdata time
set timefmt "%d %m %Y"
set format x "%d"
set boxwidth 0.9 relative
plot u 1:4 w boxes

データが利用できない日は空白のままにしておきたいのですが、gnuplotは最近、データが利用できた最後の日の値を示します。たとえば、私が以前に書いたデータファイルでは、gnuplotは10月23日に12.3を与えますが、このギャップをバーなしで残したいと思います。

これを取得する方法はありますか?時間データと互換性がないことを読んだので、ヒストグラム表現を破棄しました。

前もって感謝します

4

1 に答える 1

3

あなたの問題は行set boxwidth 0.9 relativeです。Relative は、隣接するボックス間のスペースの 90% を埋めようとしていると言っています。おそらく、絶対的なボックス幅を設定したいと思うでしょう。スクリプトを に変更するとset boxwidth 0.9 absolute、縦線が表示されます。これは、時間データを使用する場合、x 軸の単位は実際にはであるため、x スケールが複数日の場合、ボックスの幅はわずか 1 秒です。したがって、各ボックスを 1 日分の幅にするには、

set boxwidth 3600*24

完全なスクリプトは次のとおりです。

set term png enhanced
set output 'foo.png'
set xdata time
set timefmt "%d %m %Y"
set format x "%d"
set boxwidth 3600*24
plot 'test.dat' u 1:4 w boxes

そして出力:

ここに画像の説明を入力

于 2013-01-29T13:34:43.127 に答える