2013-03-02 15 views
9

gnuplotの新機能で、コマンドのいくつかの意味を見つけるのに問題があります。私は行がデータ点で、3つの列がそれぞれデータラベル、x値とy値を表すcsvファイルをプロットしたいと思います。 2番目の列をx軸に、3番目の列をy軸に、最初の列をその点に付けられたラベルにします。ここで私はgnuplotプロットラベル付きデータ

plot 'infile' using 2:2 with labels, 'infile' using 1:2 

のようなものを試してみましたが、それは「このスタイルの足りません列」報告データ

ACB, 0.0000000, 0.0000000000 
ASW, 1.0919705, -0.0864042502 
CDX, 0.0000000, 0.0000000000 
CEU, -0.4369415, -0.5184317277 
CHB, -0.4686879, 0.7764323199 
CHD, 0.0000000, 0.0000000000 
CHS, -0.4141749, 0.7482543582 
CLM, -0.2559306, -0.2535837629 
FIN, -0.5004242, -0.2108050200 
GBR, -0.4140216, -0.5132990203 
GIH, 0.0000000, 0.0000000000 
IBS, -0.4928541, -0.5812216372 
JPT, -0.4821734, 0.7263450301 
KHV, 0.0000000, 0.0000000000 
LWK, 1.4515552, -0.0003996165 
MKK, 0.0000000, 0.0000000000 
MXL, -0.4019733, -0.0484315198 
PEL, 0.0000000, 0.0000000000 
PUR, -0.2165559, -0.3173440295 
TSI, -0.3956957, -0.4549254002 
YRI, 1.5555644, -0.0202297606 

です。私はコロンの周りの数字がどういう意味なのかは分かっていませんが、他人のコードのどこにでもそれらを見ることができます。

答えて

15

あなたがしてこれを行うことができます次のコマンド:

set datafile sep ',' 
plot 'test.dat' u 2:3:1 w labels point offset character 0,character 1 tc rgb "blue" 

混乱の一部は、おそらく多くのことのためのgnuplotの簡略表記です。たとえば、上記のコマンドでは、uusingを表し、wwithを表し、tctextcolorを表します。一般に、gnuplotではコマンドを識別するために使用できる文字の最短一意のシーケンスにコマンドを短縮することができます。 withwwiwitとなり、他のプロット指定子がwで始まっていないので、gnuplotはそれらのいずれかを認識します。

使用指定子の後の数字は、データファイルの列です。ここで、ラベルのx位置は2列目から取られます。 yの位置は3番目の列から取得されます。ラベルのテキストは、第1列から取得され、ここでusing 2:3:1が得られます。実際にはそれよりもはるかに強力です(この構文では、たとえば2つの列を追加してxまたはyの位置を導き出すことができます)。しかし、そのすべてを説明すると別の質問が残るはずです。

+0

恐縮です、ありがとう!正確には私が必要としたもの – syzygy

+0

"ラベルスタイル"は、gnuplotが設定オプション '--enable-datastrings'_で構築されている場合にのみ利用可能です。 http://superuser.com/a/67452/39752 – sdaau

+0

を参照してください。また、データセットを文字列とともに使用し、 'using($ 1):($ 2):($ 3) 'というラベルが' _warning:Skipping data ($ 1):($ 2):stringcolumn(3) 'を試してみてください(' stringcolumn'の引数は列番号、$ sigilはありません)。 – sdaau

4

CSVファイルを使用しているので、あなたは、セパレータを設定する必要があります。

set datafile separator ',' 

また、私は、これはあなたが何をしようとしてあると思う:

plot 'infile' using 2:3, 'infile' 2:3:1 with labels offset 1 
関連する問題