12

私は gnuplot を初めて使用し、いくつかのコマンドの意味を見つけるのに苦労しています。行がデータ ポイントで、3 つの列がそれぞれデータ ラベル、x 値、y 値を表す csv ファイルをプロットしたいと考えています。x 軸の 2 番目の列と y 軸の 3 番目の列、および最初の列をその点に付けられたラベルにしたいと考えています。ここにデータがあります

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

私は次のようなことを試しました

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

しかし、「このスタイルには十分な列がありません」と報告されます。コロンの周りの数字が何を意味するのかはよくわかりませんが、他の人のコードではどこにでも見られます。

4

2 に答える 2

16

これは、次のコマンドで実行できます。

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

あなたの混乱の一部は、おそらく多くのことに対する gnuplot の簡略表記です。たとえば、上記のコマンドでは、 and は をu表し、usingandはを表します。一般に、gnuplot を使用すると、コマンドを識別するために使用できる最短の一意の文字列にコマンドを短縮できます。, ,などでも構いません.で始まるプロット指定子は他にないので、gnuplot はそれらのどれも認識します.wwithtctextcolorwithwwiwitw

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

于 2013-03-02T14:47:48.597 に答える
4

csvファイルを使用しているため、区切り文字を設定する必要があります。

set datafile separator ','

また、これがあなたがやろうとしていることだと思います。

plot 'infile' using 2:3, 'infile' 2:3:1 with labels offset 1
于 2013-03-02T09:52:05.900 に答える