2013-04-25 87 views
1

绘制带有多个痕迹的绘图。我想用标签绘制一条曲线。带标签的绘图线

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 
... 

如何我可以积第一走线,使labelsP0P10旁边出现呢?

回答

3

一般来说,当您的数据存储在文件中时会更容易。所以为了保持简短,我假设这里的数据是从“Datafile.dat”中读取的

如果您为绘图使用“with labels”选项,则可以绘制标签而不是指定位置上的点。

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,标题等等),您可以应用“每个”选项来选择特定的线(轨迹)。例如“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