6

次の形式のデータファイルがあります。

Series_1 "12-Dec-2011 12:00" 32
Series_1 "12-Dec-2011 12:01" 29
Series_1 "12-Dec-2011 12:02" 27
Series_1 "12-Dec-2011 12:04" 23

Series_2 "12-Dec-2011 12:01" 45
Series_2 "12-Dec-2011 12:02" 43
Series_2 "12-Dec-2011 12:04" 38

gnuplotを使用して同じプロットに一連の系列としてプロットしたいのですが、gnuplotを初めて使用するため、usingここで句をどのように構成する必要があるかわかりません。

列2の日付/時刻をX軸としてプロットし、列3をY軸としてプロットし、後続のセクションをオーバーレイしたいと思いました。これは可能ですか?確かに、X軸は常に最初の列にある必要はありませんか?

私は試した:

plot "datafile.dat" using 2:3 title 'Hits'

しかし、エラーが発生しました:

x range is invalid

誰かが私がどこで間違っているのか教えてもらえますか?

4

2 に答える 2

12

@Woltanの答えを拡張する:各セクションを異なる色/スタイルにする場合は、index(ただし、セクションを2本の空の線で区切る必要があります)を使用します。

plot 'i' index 0 using 2:4 with lines, '' index 1 using 2:4 with lines
于 2011-12-16T13:20:06.423 に答える
8

x軸に日付/時系列をプロットするには、次のようにする必要がありますset xdata time。次に、日付/時刻データがどの形式であるかをgnuplotに伝える必要があります。あなたの場合

set timefmt "%d-%b-%Y %H:%M"

トリックを行う必要があります。いくつかの例と%X-synonymsをここに示します

x軸が表示される形式を設定することをお勧めします。あなたの場合多分

set format x "%H:%M"

理にかなっているでしょう。

日付/時刻を引用符で囲んでデータをプロットできませんでした。このデータファイル(Data.csv)を使用して:

Series_1 12-Dec-2011 12:00 32
Series_1 12-Dec-2011 12:01 29
Series_1 12-Dec-2011 12:02 27
Series_1 12-Dec-2011 12:03 23

Series_2 12-Dec-2011 12:01 45
Series_2 12-Dec-2011 12:02 43
Series_2 12-Dec-2011 12:04 38

そしてこのスクリプト:

set xdata time
set timefmt "%d-%b-%Y %H:%M"
set format x "%H:%M"

plot "Data.csv" u 2:4 w l

あなたはこれを取得する必要があります

ここに画像の説明を入力してください

結果。

于 2011-12-16T12:44:16.770 に答える