gnuplot:设置xrange'的异常行为。在MD数据的动画2D图中

时间:2018-05-07 17:32:04

标签: gnuplot

我正在使用gnuplot 5 Patch level 1在Windows 7机器上工作。

我正在准备一个沿着分子动力学计算轨迹的原子间距离序列的动画。

以下脚本可以正常工作:

set termopt enhanced    # turn on enhanced text mode
# --- GRAPH a

set yrange [0.0:25.0]
set xlabel 't (fs)'
set ylabel "R_{ij} (A)"
set key box opaque

stats 'NeH2+_125K_TRAY171.DAT'

do for [i=1:STATS_records:2001] {
   plot 'NeH2+_125K_TRAY171.DAT' using ($1/10):2 every ::1::i with lines title 'R_{NeH_{1}}', \
        'NeH2+_125K_TRAY171.DAT' using ($1/10):3 every ::1::i with lines title 'R_{H_{1}H_{2}}',\
        'NeH2+_125K_TRAY171.DAT' using ($1/10):4 every ::1::i with lines title 'R_{NeH_{2}}',
}

脚本结束

然而,x-range在模拟过程中会更新,因为数据文件很长,所以会非常分散注意力。

为避免更新x轴,我尝试使用 set xrange 命令

set xrange[0.0:7.0]
set yrange [0.0:25.0]
set xlabel 't (fs)'
...

当动画开始时,它可以正常工作,但在绘制了几千个数据之后,它就会停止。此外,在应用程序的控制台窗口中没有错误消息。

我已经使用gnuplot 5.2在第二台Windows 7计算机上测试了这两个脚本,并且确实观察到了相同的行为。

显然脚本是正确的。任何人都可以发现问题吗?。

提前致谢。

1 个答案:

答案 0 :(得分:0)

注意,set yrange也适用于stats调用(是的,yrange,因为您没有指定任何列)。

因此,无论如何,您的绘图迭代次数可能比预期的要少。尝试

reset
f = 'NeH2+_125K_TRAY171.DAT'
stats f

set xrange [0.0:7.0]
set yrange [0.0:25.0]
do for [i=1:STATS_records:2001] {
    plot f using ($1/10):2 every ::1::i title 'R_{NeH_{1}}', \
        '' using ($1/10):3 every ::1::i title 'R_{H_{1}H_{2}}',\
        '' using ($1/10):4 every ::1::i title 'R_{NeH_{2}}'
}