Plot 带标签的打印线

Plot 带标签的打印线,plot,label,gnuplot,Plot,Label,Gnuplot,有几个痕迹的情节。我想用标签绘制一条轨迹 plot "-" ls 3 notitle ,\ "-" ls 4 title "Trace 1", \ "-" ls 5 title "Trace 2" ,\ "-" with points ls 6 notitle P1 1.5 17.962924780409974 P2 1.7 16.87322975464215 P3 1.9 15.960477502420257 P4 2.1 15.181442305531792

有几个痕迹的情节。我想用标签绘制一条轨迹

plot "-" ls 3 notitle ,\
     "-" ls 4 title "Trace 1", \
     "-"  ls 5 title "Trace 2" ,\
     "-" with points ls 6 notitle
P1 1.5 17.962924780409974
P2 1.7 16.87322975464215
P3 1.9 15.960477502420257
P4 2.1 15.181442305531792
P5 2.3000000000000003 14.506370414707312
P6 2.5000000000000004 13.914021704740868
P7 2.7000000000000006 13.38877362790406
P8 2.900000000000001 12.918844829323474
P9 3.100000000000001 12.495160353435423
P10 3.300000000000001 12.110601416389963
e
...

如何绘制第一条记录道,使带有
P0
P10
标签出现在该点的旁边?

通常,当数据存储在文件中时,这更容易。因此,为了简短起见,我假设数据是从“Datafile.dat”读取的

如果在打印时使用“带标签”选项,则可以在给定位置打印标签而不是点

plot "Datafile.txt" using 2:3:1 with labels
“using”的前两个参数指定(x,y)位置,而第三个参数指示标签的位置

现在,这将仅显示点,而不显示标签。因此,我们可以添加另一个仅显示点的标签,并向标签添加偏移(0.05),以便标签不会与点重叠:

plot "Datafile.txt" using ($2+0.05):($3+0.05):1 with labels, "" using 2:3
现在,如果要为每个跟踪提供不同的选项(ls、title等),可以应用“every”选项来选择特定的行(跟踪)。例如,“every::1::1”将仅绘制第二条记录道(第一行为“0”)

总之,您应该可以使用此解决方案:

plot "Datafile.txt" u ($2+0.05):($3+0.05):1 with labels notitle,\
     "" u 2:3 ev ::0::0 ls 3 "Trace 1",\
     "" u 2:3 ev ::1::1 ls 4 "Trace 2",\
     "" u 2:3 ev ::2 ls 6 notitle

一般来说,将数据存储在文件中更容易。因此,为了简短起见,我假设数据是从“Datafile.dat”读取的

如果在打印时使用“带标签”选项,则可以在给定位置打印标签而不是点

plot "Datafile.txt" using 2:3:1 with labels
“using”的前两个参数指定(x,y)位置,而第三个参数指示标签的位置

现在,这将仅显示点,而不显示标签。因此,我们可以添加另一个仅显示点的标签,并向标签添加偏移(0.05),以便标签不会与点重叠:

plot "Datafile.txt" using ($2+0.05):($3+0.05):1 with labels, "" using 2:3
现在,如果要为每个跟踪提供不同的选项(ls、title等),可以应用“every”选项来选择特定的行(跟踪)。例如,“every::1::1”将仅绘制第二条记录道(第一行为“0”)

总之,您应该可以使用此解决方案:

plot "Datafile.txt" u ($2+0.05):($3+0.05):1 with labels notitle,\
     "" u 2:3 ev ::0::0 ls 3 "Trace 1",\
     "" u 2:3 ev ::1::1 ls 4 "Trace 2",\
     "" u 2:3 ev ::2 ls 6 notitle