我有一个红外光谱,想要绘制出感兴趣化合物的频谱图。我拥有一个名为 spectrum.dat 的文件,其中包含所有数据点,格式如下:
# X Y
300 100
301 100
302 99
303 70
...
3999 98
4000 100
我想使用典型的红外光谱X轴绘制这个图表,但是我在这方面有困难。如果您不熟悉,这是典型的红外光谱的样子(除了图表本身的标签)。请注意,X轴被反转,并且在2000单位(倒数厘米)以上突然加倍。有没有办法强制Gnuplot以这种方式绘制我的数据?到目前为止,我已经想出了以下脚本:
# Make an SVG of size 800x500
set terminal svg size 800,500 fname 'CMU Sans Serif' fsize '10'
set output 'ir.svg'
# Color definitions
set border linewidth 1.5
set style line 1 lc rgb '#a0a0a0' lt 1 lw 2 pt 7 # gray
# Format graph
unset key
set xlabel 'Wavenumbers'
set ylabel 'Transmittance'
set xrange [4000:300]
# Plot data
plot 'spectrum.dat' with lines ls 1
这样可以很好地反转x轴,但我无法想出如何以这种不寻常的方式改变比例尺。
set link
并且开发版本的gnuplot是可选项,请参阅gnuplot:如何设置自定义非线性比例尺。即将推出的gnuplot 5.0版本现在甚至有 - Christoph