我想把文件变成如下形式:
Name X Y
a 1 2
b 4 1
s 3 3
在 XY 图形中,XY 点标有名称。
我该怎么做?我认为这可以用 gnuplot 来完成,但我还不能做到。
答案1
您可以使用以下 gnuplot 命令将标签放置在距离点的指定偏移量处:
echo "plot 'file.dat' using 2:3 pt 2 notitle, '' using 2:3:1 with labels offset 0.5,0.5 notitle;" | gnuplot -persist
注意:仅当使用 --enable-datastrings 编译 gnuplot 时才有效(感谢 DaveParillo 的澄清)
答案2
Gnu plot 无法单独完成此操作。我不知道如何处理文本。 如果您的数据存在于名为 file.dat 的文件中,则:
perl -ane 'print "set label \"($F[0])\" at $F[1],$F[2]\n"' file.dat > label.plt
将生成一个可以在 gnuplot 中使用的标签文件。然后,您可以生成如下(非常基本的)图表:
gnuplot> load "label.plt"
gnuplot> plot 'file.dat' u 2:3
如果需要,你可以随意调整标签偏移量。例如,
"set label \"($F[0])\" at $F[1]+0.05,$F[2]+0.05\n"'
将标签稍微移出一点,这样它们就不会正好与你的观点相冲突。