我对我想要做的一个情节有一些意见。
假设我有一个数据文件,其中有5列,如: x、y、x+dx、y+dy、a。
我想画一个矢量场,箭头的厚度与a成正比,但我不知道怎么做。假设我以一种属于0:100的方式缩放a,是否必须为每一个间隔0:5、5:10等定义一个线型.?我尝试过使用列函数,但它不起作用。
c1=12 图“数据”u 3:4:($5-3):($6-4)w向量lw列(C1)
(注:a项列在12栏中)
我试过这样的命令:
图‘数据’u 3:4:($5-$3):($6-$4):12 w向量无箭头式变量
发布于 2014-07-01 16:19:02
使用可变箭头样式的最后一种方法应该工作得很好。请考虑以下示例:
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]
。
https://stackoverflow.com/questions/24499467
复制相似问题