0

print_1012720.txt以下に示すテキストのようなファイル ( という名前) があります。

1133254688 5698771509078629376
1150031904 5698771509371165696
1150031904 5698771510035551232
4170258464 5698771510036082688
2895583264 5698771510036715520
1620908064 5698771510037202176
346232864 5698771510037665280  <----
3366459424 5698771510038193664
2091784224 5698771510332259072
817109024 5698771510332816128  <-----
3837335584 5698771510333344512
2562660384 5698771510339882240
1287985184 5698771510340411392
13309984 5698771510340939776 <-------
3033536544 5698771510348048896
1758861344 5698771510348577280
484186144 5698771510349228800
3504412704 5698771510632804864
2229737504 5698771510633441792
955062304 5698771510634390272
3975288864 5698771510638858496
2700613664 5698771510639347712
1425938464 5698771510642663168
134486304 5698771510643387136
3154712864 5698771510643808768

次のコマンドを bash で実行しています。

gnuplot

reset
set terminal png

set xdata time
set timefmt "%d/%m/%Y %H:%M:%S"
set format x "%H:%M"
set xlabel "time"

set ylabel "highest seq number"
set yrange [0:65535]

set title "seq number over time"
set key reverse Left outside
set grid

set style data linespoints

plot "print_1012720" using 1:2 title "Flow 1"

それは私の殻にゴミを与えます。これを引き起こしているのは、列間の間隔であると思われます。ただし、間隔を修正すると、ファイルは正しくプロットされます。これを修正する方法はありますか?

4

1 に答える 1

1

あなたの主な問題は、出力を設定していないことだと思います。コマンドの後set terminal、出力ファイルを設定する必要があります。そうしないと、gnuplot が端末に .png を吐き出し、意味不明に見えます。以下をファイル (たとえば「plot.plt」として保存) に入れてgnuplot plot.plt、bash コマンド ラインで実行してみてください。

set terminal png 
set output 'output.png'

set xdata time
set timefmt "%s"
set format x "%H:%M"
set xlabel "time"

set ylabel "highest seq number"

set title "seq number over time"
set key reverse Left outside
set grid

set style data linespoints

plot "print_1012720.txt" using 1:2 title "Flow 1"

この方法でプロット ファイルを作成すると、gnuplot コマンド ラインで入力する時間を大幅に節約できます。

その他のコメント:

1) データファイルの y 値がはるかに大きい場合、yrange を 0:65535 に設定します。

2) データファイルの最初の列から UNIX 形式の時刻を抽出しようとしているようです。このためset timefmt '%s'には、上記のような行が必要です。ただし、データ ファイル内の時間データは、y データと同様にあちこちにあるように見えます。

3)resetこの方法で gnuplot を実行すると gnuplot の新しいインスタンスが作成されるため、最初にコマンドを実行する必要はありません。リセットする必要はありません。

4) '.txt' 拡張子のない 'print_1012720' もありました。これがあなたの側のエラーだったかどうかはわかりません。

于 2012-06-16T05:38:29.080 に答える