如何在gnuplot中获得一个中间箭头?

时间:2014-05-12 14:04:46

标签: gnuplot

我想在gnuplot中绘制一个箭头,箭头出现在箭头中间而不是极端。尝试中间头选项但似乎不起作用。

以下是我用来创建下面图片的脚本

set style arrow 1 front head filled size screen 0.008,6 lt 1 lw 1
set arrow from  0.4750,-0.3592 to 1.05767,0.4179 as 1

enter image description here

2 个答案:

答案 0 :(得分:5)

正如安德拉斯已经指出的那样:没有选择这个。但是,您可以创建一个为您构建两个箭头的函数,并计算中间点。函数middlearrow将包含两个箭头定义的字符串组合在一起,然后必须使用eval处理它:

set style arrow 1 front head filled size screen 0.03,15 lt 1 lw 1
middlearrow(from_x, from_y, to_x, to_y) = \
        sprintf('set arrow from %f,%f to %f,%f as 1 nohead;', 0.5*(from_x + to_x), 0.5*(from_y + to_y), to_x, to_y).\
        sprintf('set arrow from %f,%f to %f,%f as 1', from_x, from_y, 0.5*(from_x + to_x), 0.5*(from_y + to_y)) 

eval(middlearrow(0.1,0.1,0.9,0.9))

set xrange [0:1]
set yrange [0:1]

plot 0

4.6.4的结果:

enter image description here

答案 1 :(得分:0)

画两个箭头,一个带头,一个没有。

----> + ----- = ---->-----