2011-01-26 10 views
14

私は次の形式のデータファイルを持っています。Gnuplotのデータファイルの列からx軸ティックを作成する

/foo.jsp 1234 
/bar.jsp 6653 
/foobar.jsp 9986 
/bar.jsp 2221 
/foo.jsp 5643 

Iは、x軸の目盛りは、第一列および第二列からy軸上の値から取られるgnuplotの中でこのファイルをプロットします。説明するために、グラフを次のように表示したいと考えています。

10000 x   x 
5000  x   x   x 
0  /foo.jsp /bar.jsp /foobar.jsp 

ここで、xはグラフのポイントです。

私が行うために管理している最高です:

plot "datafile.dat" using 2:xticlabel(1) with points 

はしかし、そのコマンドは(つまり、私はx軸上の2つの/foo.jspの目盛りを取得する)最初の列の各値の目盛りを繰り返します。私は最初の列にそれぞれのユニークな文字列のための1つのユニークなティックがあることを望みます。

答えて

19

xという数字だけの列、たとえばfoo.jsp = 1、bar.jsp = 2などを含めて、これを最初の列に入れるとします。

だからあなたのデータファイルは次のようになります。

1 foo.jsp 1234
2 bar.jsp 6653
3 foobar.jsp 9986
2 bar.jsp 2221
1 foo.jsp 5643

次に使用:

plot "datafile.dat" using 1:3:xtic(2) with points 
+0

を私はあなたが私は番目の各一意の文字列に一意の番号を入れなければならないことを意味すると仮定上記の2番目の列?それは私がここで試してみるとうまくいくようです。しかし、これは、各ラベルを番号に関連付ける前処理を必要とする。それは可能ですが、それを避けるのが最善の方法です。ヒントありがとうございます。 –

+0

それは:plot "datafile.dat" 2:xtic(1)とポイントを使用してチェックしても動作しますが、初期のソリューションと非常によく似ています。 – Martin

+0

xlabel "foo.jsp"の上に実際に2ポイントが必要な場合は、 "foo.jsp"の前にユニークな番号を付ける必要があります – Martin

関連する問題