2017-04-12 77 views
2

我正在使用Gnuplot创建一个情节线的直方图,然而,情节线不适合与酒吧头,我也想把这条线有点远离酒吧头。Gnuplot直方图与情节线

enter image description here

set border 3 
set boxwidth 0.9 
set tics nomirror out scale 0.75 
set style fill solid 0.8 

plot "03.txt" using 2:xtic(1) lt rgb "#0060ad" notitle, "" using 2 smooth csplines notitle with lines ls 1, "" using 3 lt rgb "#ff6600" notitle, "" using 3 smooth csplines notitle with lines ls 2, "" using 4 lt rgb "#dd181f" notitle, "" using 4 smooth csplines notitle with lines ls 3 

更新时间:

这是数据文件:

500000  25.938   25.938  2 
1000000  52.385   52.385  4 
1500000  79.749   78.405  6.125 
2000000  152.589   100.261  12.479 
2500000  224.869   118.364  19.159 
+0

它总是更好的来发表您的数据文件(或它的一部分显著)。我相信你可以通过调整样条的'using'子句来达到你想要的效果,但是可以通过简单的选择对列2的内容产生一些影响。通过“将线条放在离杆头稍远的位置”,你的意思是整个样条的垂直移动? – Joce

+0

@Joce我添加了数据文件,是的,我需要一个垂直移动来避免用杆头粘贴绘图线。 – Boubakr

回答

2

这应该任意列数的工作,你必须在变量N指定它们,并在调用自定义功能xbox时给它们编号。这应该用于非密集使用。您可以垂直偏移与OFFSET变曲线(以y轴的单位)

set border 3 
#number of columns to be plotted 
N=3 
#vertical offset 
OFFSET=0 
#gapwidth (set to gnuplot's default) 
GW=2 
xbox(x,i)=x+(i-N*0.5)/(N+GW) 
set boxwidth 0.9 
set tics nomirror out scale 0.75 
set style fill solid 0.8 

plot "03.txt" using 2:xtic(1) lt rgb "0060ad" notitle, \ 
     "" using 2 with histogram notitle,  \ 
     "" using (xbox($0,1)):($2+OFFSET) smooth csplines notitle with lines ls 1,  \ 
     "" using 3 lt rgb "#ff6600" notitle with histogram, \ 
     "" using (xbox($0,2)):($3+OFFSET) smooth csplines notitle with lines ls 2,  \ 
     "" using 4 lt rgb "#dd181f" notitle with histogram, \ 
     "" using (xbox($0,3)):($4+OFFSET) smooth csplines notitle with lines ls 3