我正在尝试使用以下数据绘制衰减方案级别:
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
结果几乎是我想要的:
除一件事外,应删除水平线左上角的0标签。我试图从数据的elabel列中删除0值(例如:col:elabel,第1、3和5行),就像第7行(112.95级)一样,但是它不会像gnu那样产生箭头将Xa列读为第三列而不是第四列。
即使列中没有数据,是否仍要使gnuplot继续对列进行计数?
答案 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
结果类似: