我正在使用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计算机上测试了这两个脚本,并且确实观察到了相同的行为。
显然脚本是正确的。任何人都可以发现问题吗?。
提前致谢。
答案 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}}'
}