gnuplot:如何使gnuplot继续计数空白列?

时间:2018-11-28 05:53:49

标签: gnuplot

我正在尝试使用以下数据绘制衰减方案级别:

xl  E      elabel    Xa   E1    Xa   E2
1   500     0       5.2 321.32  5.2 249.67          
3   500     0       5.5 321.32  5.5 112.95  
5   321.32  0       5.8 321.32  5.8 0
8.5 321.32  321.32  
5   249.67  0       6.2 249.67  6.2 112.96
8.5 249.67  249.67  
5   112.95 
8.5 112.95  112.95
5   0
8.5 0   0

我使用以下命令绘制(gnuplot v 5.2)数据:

plot 'decay.txt'u 1:2 w l lc rgb 'black',\                            
     ''u 1:2:3 w labels right offset 0,0.8,                                
     ''u 4:5:($6-$4):($7-$5) w vec

结果几乎是我想要的:

decay.png

除一件事外,应删除水平线左上角的0标签。我试图从数据的elabel列中删除0值(例如:col:elabel,第1、3和5行),就像第7行(112.95级)一样,但是它不会像gnu那样产生箭头将Xa列读为第三列而不是第四列。

即使列中没有数据,是否仍要使gnuplot继续对列进行计数?

1 个答案:

答案 0 :(得分:1)

为了获得相同(或相似)的结果(在guplot 5.2.5中进行了测试),即不与行连接的不同级别,我需要在数据中引入空行。

获取数据(下面的数据列由TAB分隔):

# decay.txt
xl  E   elabel  Xa  E1  Xa  E2
1   500     5.2 321.32  5.2 249.67
3   500     5.5 321.32  5.5 112.95

5   321.32      5.8 321.32  5.8 0
8.5 321.32  321.32  

5   249.67      6.2 249.67  6.2 112.96
8.5 249.67  249.67  

5   112.95  
8.5 112.95  112.95

5   0
8.5 0   0
# end of data

和以下代码:

# start code
reset session
set datafile separator "\t"
set yrange[0:600]
plot 'decay.txt' u 1:2 w l lc rgb 'black',\
     '' u 1:2:3 w labels right offset 0,0.8,\
     '' u 4:5:($6-$4):($7-$5) w vec
# end of code

结果类似:

enter image description here