在gnuplot中,如何用它的坐标标签化每个点?

22

我有一个数据文件,abc.dat,我想绘制它并标记每个坐标,例如(1,5),(4,6),(2,8)等。

abc.dat 的格式如下:

1  5
4  6
2  8
4  5
7  8
8  9
3  4

你想让标签在x轴上还是与数据本身一起显示?你的绘图命令是什么? - Zahaib Akhtar
1个回答

41

使用 labels 绘图样式。需要三个 using 说明符:x 值、y 值和放置在给定坐标处的字符串。最简单的命令如下:

plot 'abc.dat' using 1:2:(sprintf("(%d, %d)", $1, $2)) with labels notitle

该命令将相应的标签置于坐标中心。

以下命令在相应坐标处绘制一个点,并将坐标标签向它靠近一些位移:

set offset 1,1,1,1
plot 'abc.dat' using 1:2:(sprintf("(%d, %d)", $1, $2)) with labels point  pt 7 offset char 1,1 notitle

4.6.4版本的结果是: enter image description here

有没有办法控制那些标签的字体大小? - PyariBilli
1
@gforce89 使用 font ',14' 或类似的方式:plot ... with labels point pt 7 offset char 1,1 font ',14' notitle,你还可以使用 centerright 来控制对齐方式。 - Christoph
1
@gforce89,对于epslatex,您必须按照格式包含相应的宏调用:sprintf("\large (%d, %d)", $1, $2)) - Christoph
1
现在我有时间来检查这个问题:似乎对于这种特殊情况,你必须更频繁地转义反斜杠。虽然 set xlabel '\large xlabel' 可以正常工作,但在这种情况下,你必须使用 plot ... using 1:2:(sprintf('\\large %d', $2)) w labels 或者 plot ... using 1:2:(sprintf("\\\\large %d, $2)) w labels - Christoph
我们可以在黑点下方再加一个标签吗?也就是让黑点上下都有标签?这些标签可以分别来自第三列和第四列。 - Gathide
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接