Basic

Currently we have a file called test.dat with the data organized as such:

HI   1215.6701 0.416400  6.265E8  1.00794 Morton(03), 2cpts sep by 1.3 km/s, A&G:10.446
HI   1025.7223 0.079120  1.897E8
HI    972.5368 0.029000  8.127E7
HI    949.7431 0.013940  4.204E7
HI    937.8035 0.007799  2.450E7
HI    930.7483 0.004814  1.236E7  Aki only (< real Gamma)
HI    926.2257 0.003183  8.255E6
HI    923.1504 0.002216  5.785E6
HI    920.9631 0.001605  4.210E6
HI    919.3514 0.00120   3.160E6
HI    918.1294 0.000921  2.432E6
HI    917.1806 7.226e-4  1.911E6
HI    916.429 0.000577  1.529E6
...

In order to mark absorption lines we need the data in this format:

set label 1 " HI 1215.6701 " at 4022.75,0.4 rotate
set label 2 " HI 1025.7223 " at 3394.2,0.4 rotate
set label 3 " HI 972.5368 " at 3218.2,0.4 rotate
set label 4 " HI 949.7431 " at 3142.78,0.4 rotate
set label 5 " HI 937.8035 " at 3103.27,0.4 rotate
set label 6 " HI 930.7483 " at 3079.92,0.4 rotate
set label 7 " HI 926.2257 " at 3064.95,0.4 rotate
set label 8 " HI 923.1504 " at 3054.78,0.4 rotate
set label 9 " HI 920.9631 " at 3047.54,0.4 rotate
set label 10 " HI 919.3514 " at 3042.21,0.4 rotate
set label 11 " HI 918.1294 " at 3038.16,0.4 rotate
set label 12 " HI 917.1806 " at 3035.02,0.4 rotate
set label 13 " HI 916.429 " at 3032.54,0.4 rotate
...

This is the code that parses test.dat to produce readable input for gnuplot:

awk '{print "set label",FNR, "\"",$1,$2,"\"","at", $2*3.30908",0.4 rotate"}' test.dat > show.p

Then loading the file show.p in gnuplot labels the absorption lines at the proper frequencies:

awk1.png
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License