如何绘制点标记数据?

如何绘制点标记数据?

我想把文件变成如下形式:

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"' 

将标签稍微移出一点,这样它们就不会正好与你的观点相冲突。

相关内容