Vector gnuplot:如何使用可变线宽进行打印?

Vector gnuplot:如何使用可变线宽进行打印?,vector,gnuplot,Vector,Gnuplot,我有一些问题的阴谋,我想作出 假设我有一个5列的数据文件,比如:x,y,x+dx,y+dy,a 我想画一个箭头厚度与a成比例的向量场,但我不知道怎么做。假设我以属于[0:100]的方式缩放a,是否必须为每个间隔[0:5]、[5:10]等定义线型? 我试过使用column函数,但它不起作用 c1=12 绘图“数据”u 3:4:($5-$3):($6-$4)w矢量lw列(c1) (注:a术语在第十二列) 我试过这个命令: 绘图“数据”u 3:4:($5-$3):($6-$4):12 w矢量无头箭头样

我有一些问题的阴谋,我想作出

假设我有一个5列的数据文件,比如:x,y,x+dx,y+dy,a

我想画一个箭头厚度与a成比例的向量场,但我不知道怎么做。假设我以属于[0:100]的方式缩放a,是否必须为每个间隔[0:5]、[5:10]等定义线型? 我试过使用column函数,但它不起作用

c1=12

绘图“数据”u 3:4:($5-$3):($6-$4)w矢量lw列(c1)

(注:a术语在第十二列)

我试过这个命令:

绘图“数据”u 3:4:($5-$3):($6-$4):12 w矢量无头箭头样式变量


使用变量箭头样式的最后一种方法应该可以正常工作。考虑下面的例子:

set samples 11
set xrange [0:100]
set for [i=1:101] style arrow i lw i/10.0 nohead
unset key
plot '+' using 1:1:(2):(10):($1+1) with vectors arrowstyle variable
这里我定义了100种箭头样式,它们只在线宽上有所不同。版本4.6.5的结果是

在你的情况下,它应该足够使用

set for [i=1:101] style arrow i lw i/10.0 nohead
plot 'data' u 3:4:($5-$3):($6-$4):12 w vectors nohead arrowstyle variable

当然,您必须确保第12列在范围
[1:101]
内。您还可以使用
stats
来确定第12列中值的限制,并编写一个函数
map(x)
,该函数将此列的值映射到所需的范围
[1:101]

请从数据文件和您可能编写的任何代码中添加一些数据。