Gnuplot 使用从第三列中选择的不同符号打印.dat文件

Gnuplot 使用从第三列中选择的不同符号打印.dat文件,gnuplot,Gnuplot,我有下表: /* out.dat */ 0 1.856381821661646 0.511222553331535 1 -1.513297876716274 -0.795936395061944 2 -1.467599747901700 -0.746686307661924 3 -0.559071676029565 0.626769978902970 4 0.826490214782210 0.000000002133100 4 0.836812258049098 0.000000002

我有下表:

/*   out.dat   */
0 1.856381821661646 0.511222553331535
1 -1.513297876716274 -0.795936395061944
2 -1.467599747901700 -0.746686307661924
3 -0.559071676029565 0.626769978902970
4 0.826490214782210 0.000000002133100
4 0.836812258049098 0.000000002119134
4 0.837038664701387 0.000000001783730
4 0.845692121312554 0.000000003032239
4 0.909049958675113 0.000000000193274
4 0.885434430828159 0.000000000194619
(...)
第二列和第三列是x/y值,其中第一列是数据点的标签。我希望所有带0的点都有一个可区分的符号,另一个符号表示所有带1的点,依此类推

因此伪代码如下所示:
使用2:3和点[from 1.col]绘制“out.dat”

顺便说一句,由于我需要大约30种不同的符号,
调色板
选项没有多大帮助。

您可以使用gnuplot的迭代:

plot for [i=0:30] 'out.dat' u 2:($1==i ? $3: NaN) w points pt i

尽管我必须说,对于大多数(所有?)终端来说,希望30个独特且易于识别的标记可能有点牵强……

您可以使用gnuplot的迭代:

plot for [i=0:30] 'out.dat' u 2:($1==i ? $3: NaN) w points pt i

尽管我必须说,对于大多数(所有?)终端来说,希望有30个独特且易于识别的标记可能有点牵强……

实际上,gnuplot 4.6似乎足够聪明,可以使用多个符号并提供不同的颜色,因此26个不同的图标根本没有问题。只是一件小事:语法应该是[i=0:30]:)@WojciechMorawiec的
——感谢您指出语法错误。事实上,gnuplot4.6似乎足够聪明,可以使用几个符号并提供不同的颜色,所以26个不同的图标根本没有问题。只是一件小事:语法应该是[i=0:30]
:)@WojciechMorawiec的
——感谢您指出语法错误。我似乎总是弄错那个。