点上面向gnuplot的箭头

点上面向gnuplot的箭头,gnuplot,Gnuplot,为了画出风速与风向的关系,我试着想办法画出风速的曲线,每个点都将箭头指向风向 我找到的第一个解决方案是绘制向量,它工作得非常好,但我仍然保持标准轴 数据: #Steps Speeds m/s Directions ° 0 3.2 56 用那个命令 plot 'file.dat' using 1:2:(cos($3)):(sin($3)) with vectors head filled lt 2 我在每个点上得到一个风向向量 我的问题是我想画时间轴。。我用这种方法得到了两轴之间不同的比例,

为了画出风速与风向的关系,我试着想办法画出风速的曲线,每个点都将箭头指向风向

我找到的第一个解决方案是绘制向量,它工作得非常好,但我仍然保持标准轴

数据:

#Steps Speeds m/s Directions °

0 3.2 56
用那个命令

plot 'file.dat' using 1:2:(cos($3)):(sin($3)) with vectors head filled lt 2
我在每个点上得到一个风向向量

我的问题是我想画时间轴。。我用这种方法得到了两轴之间不同的比例,所以我不再有cercle,而是一种省略。东西方向的向量变短了

有人看到问题,有想法解决。在绝对我想做的每一个或某些点的价值观似乎定向箭头


谢谢

绘制一次以加载状态变量
GPVAL.*
。然后使用箭头xdelta和ydelta的缩放值重新打印。可能您需要一些额外的校正,以便箭头的大小合理。那叫莱恩

plot 'file.dat' using 1:2 with points          # just to get the scaling
SCALE = (GPVAL_X_MAX - GPVAL_X_MIN) / (GPVAL_Y_MAX - GPVAL_Y_MIN)
plot 'file.dat' using 1:2:(LEN*cos($3)*SCALE):(LEN*sin($3)) with vectors
这是我做的代码

    # Setting xdata to time.
set xdata time
set timefmt "%Y-%m-%d-%H:%M"

# set format x controls the way that gnuplot displays the dates on the x axis.
# "%Y-%m-%d" is the same as "%F", but "%F" applies to output only; it won't work
# for timefmt, which controls data reading.
set format x "%H:%M"

set xrange ["2018-10-23-06:00":"2018-10-23-19:00"]
#set yrange [0:12]

FILE="history_export_2018-11-06T13_23_09.dat"

set angles degrees
set grid mxtics mytics xtics ytics
set key outside  bmargin left spacing 1.8
set key maxrows 1
set ylabel 'Vitesse [Klm/s]'
set xlabel 'Temps [hh:mm]'
#set title "Simple Plots" 
set title  font "Arial,20" norotate
LEN=1.8

plot FILE using 1:3 with lines          # just to get the scaling
SCALE = (GPVAL_X_MAX - GPVAL_X_MIN) / (2*(GPVAL_Y_MAX - GPVAL_Y_MIN))
#SCALE = (GPVAL_X_MAX - GPVAL_X_MIN) / (2*(GPVAL_Y_MAX - GPVAL_Y_MIN)) * (GPVAL_TERM_YMAX - GPVAL_TERM_YMIN) / (GPVAL_TERM_XMAX - GPVAL_TERM_XMIN) * GPVAL_TERM_XSIZE / GPVAL_TERM_YSIZE
plot FILE using 1:3:(LEN*cos($4)*SCALE):(LEN*sin($4)) with vectors head filled lc 7 title"Directions" ,\
    FILE using 1:3 smooth csplines  title "Vitesse",\
    FILE using 1:5 smooth csplines t "Rafale"
这里有一些数据

#Year-Month-Day-Hour:Minute Temperature  [2 m above gnd] Wind Speed  [10 m above gnd] Wind Direction  [10 m above gnd] Wind Gust  [sfc]
    2018-10-23-00:00 8.62 16.26 354.92 21.96
    2018-10-23-01:00 7.91 15.19 354.56 222.32
    2018-10-23-02:00 7.26 14.80 355.82 27.00
    2018-10-23-03:00 6.51 12.78 350.27 18.00
    2018-10-23-04:00 8.24 18.06 355.43 23.40
    2018-10-23-05:00 8.21 15.94 353.52 23.04
    2018-10-23-06:00 8.15 14.92 351.67 21.60
    2018-10-23-07:00 8.15 14.44 355.71 25.56
    2018-10-23-08:00 8.24 15.50 357.34 26.64
    2018-10-23-09:00 8.70 17.64 360.00 28.08
    2018-10-23-10:00 10.08 17.64 360.00 27.36
    2018-10-23-11:00 12.79 18.37 2.25 24.84
    2018-10-23-12:00 15.43 23.44 3.52 28.44
    2018-10-23-13:00 16.59 23.86 255.19 29.88
    2018-10-23-14:00 17.32 23.08 93.58 28.08
    2018-10-23-15:00 17.75 23.08 3.58 28.08
    2018-10-23-16:00 17.64 21.97 1.88 27.00
    2018-10-23-17:00 16.55 18.75 3.30 25.20
    2018-10-23-18:00 13.04 13.00 4.76 27.36
    2018-10-23-19:00 11.45 10.90 352.41 25.56
    2018-10-23-20:00 10.21 11.12 330.95 25.56
    2018-10-23-21:00 9.14 11.98 327.26 26.64
    2018-10-23-22:00 8.48 12.90 337.01 29.88
    2018-10-23-23:00 7.99 12.25 335.70 31.32
它工作得很好,我们仍然在向量的长度之间有一些差异,我不知道时间2是否合适,但它似乎可以纠正长度。 我看不出两种不同的音阶有什么不同

我试图找到一个计算方法,在不改变方向的情况下得到更短的向量,在我看来这是一个数学变换,所以我们会得到一些接近箭头的东西,而不是向量。 谢谢你的提示,但是当我把头修好的时候,它不会改变任何事情

这是我用LEN=0.4得到的结果

LEN=0.4

set style arrow 1 head fixed filled size screen 0.03,15,135 ls 1

plot FILE using 1:3 with lines          # just to get the scaling
#SCALE = (GPVAL_X_MAX - GPVAL_X_MIN) / (2*(GPVAL_Y_MAX - GPVAL_Y_MIN))
SCALE = (GPVAL_X_MAX - GPVAL_X_MIN) / ((GPVAL_Y_MAX - GPVAL_Y_MIN)) * (GPVAL_TERM_YMAX - GPVAL_TERM_YMIN) / (GPVAL_TERM_XMAX - GPVAL_TERM_XMIN) * GPVAL_TERM_XSIZE / GPVAL_TERM_YSIZE
plot \
    FILE using 1:3:(LEN*cos($4-180)*SCALE):(1.5*LEN*sin($4-180)) with vectors arrowstyle 1  title"Directions" ,\
    FILE using 1:3 smooth csplines  title "Vitesse",\
    FILE using 1:5 smooth csplines t "Rafale"
这个LEN=0.2

也许我做错了什么,但我喜欢第一个,它看起来就像我想做的


谢谢大家

如果风向是整个画布的方向,与轴线无关,那么你还必须考虑
GPVAL_TERM.*
值:
SCALE=(GPVAL_X_MAX-GPVAL_X_MIN)/(GPVAL_Y_MAX-GPVAL_Y_MIN)*(GPVAL_TERM_YMAX GPVAL_TERM_YMIN)/(GPVAL_TERM_XMAX GPVAL_-GPVAL_TERM_XMAX*GPVAL\u TERM\u XSIZE/GPVAL\u TERM\u YSIZE
O是的,我知道了,diretion 2似乎保持了更好的比例。你知道怎样在不改变箭头大小的情况下改变向量的长度吗?改变
LEN
值如果我在一个长度下,箭头的大小变小,它们是成比例的,或者我错过了一些东西我不确定你的意思。可能您必须使用
fixed
参数,
plot。。。当向量头固定时
如果将LEN=0.2,向量实际上很小,但向量头也很小。我想要一支大头的小箭。对于长度的修正,我使用1.5*LEN*sin($4),而cos则使用LEN。