我想在 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
最佳答案
正如安迪拉斯已经指出的那样:没有选择来获得这个。但是,您可以创建一个函数来为您构建两个箭头并计算中间点。函数 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 的结果:
关于gnuplot - 如何在gnuplot中获得一个中间箭头?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23611196/