Vector Gnuplot:如何从向量场中移除低于某个量级的向量?
我有一个二维CFD代码,它给出了网格上每个点的x和y流速。我目前正在使用gnuplot中的向量场可视化数据。我的目标是观察火山喷发的烟羽延伸多远,因此,如果我能阻止向量在低于某个量级的情况下出现在野外,那就更干净了。有人知道怎么做吗?下面是我当前的gnuplot脚本。我还可以根据需要修改输入文件Vector Gnuplot:如何从向量场中移除低于某个量级的向量?,vector,field,gnuplot,Vector,Field,Gnuplot,我有一个二维CFD代码,它给出了网格上每个点的x和y流速。我目前正在使用gnuplot中的向量场可视化数据。我的目标是观察火山喷发的烟羽延伸多远,因此,如果我能阻止向量在低于某个量级的情况下出现在野外,那就更干净了。有人知道怎么做吗?下面是我当前的gnuplot脚本。我还可以根据需要修改输入文件 reset set nokey set term png set xrange [0:5.1] set yrange [0:10.1] do for [i=0:10] { set title '
reset
set nokey
set term png
set xrange [0:5.1]
set yrange [0:10.1]
do for [i=0:10] {
set title 'Eruption simulation: Timestep '.i
set output 'path/FlowVel'.sprintf('%04.0f',i).'.png'
plot 'path/Flow'.sprintf('%04.0f',i).'.dat' using 1:2:3:4 with vec
}
我猜您需要一种过滤,gnuplot实际上没有,但可以通过以下技巧实现(摘自gnuplot中的“使用示例的帮助”): 所以我想你会想要这样的东西在你的情况下
plot "data.dat" u 1:2:($3**2+$4**2>mag_sq?$3:NaN):($3**2+$4**2>mag_sq?$4:NaN) w vector
其中mag_sq是所需大小的平方
plot "data.dat" u 1:2:($3**2+$4**2>mag_sq?$3:NaN):($3**2+$4**2>mag_sq?$4:NaN) w vector