Если вы прочитаете справку gnuplot
set arrow <tag> {nohead | head | backhead | heads}
{size <headlength>,<headangle>{,<backangle>}}
, вы подумаете, что это легко, но я не получаю ожидаемого результата ни со стрелкой 1, ни со стрелкой 2. Я не знаю, что с этим не такМожет быть, кто-то может объяснить.Не очень хороший обходной путь - разделить стрелку на две стрелки 3 и 4.
### different front- and backheads for arrows
reset session
set arrow 1 from -9,5 to -9,-5 heads size 1,45,90
set arrow 2 from -6,5 to -6,-5 heads size 1,90,45
set arrow 3 from -3,5 to -3,0 backhead size 1,90
set arrow 4 from -3,0 to -3,-5 head size 1,45
set arrow 5 from 0,5 to 0,-5 heads size 1,45,90 empty
set arrow 6 from 2,5 to 2,-5 heads size 1,45,60 filled
x0=8; y0=5
x1=4; y1=-5
set arrow 7 from x0,y0 to x1,y1 backhead size 1,135
set arrow 8 from x0,y0 to x1,y1 head size 1,45
plot x
### end of code
Редактировать:
На самом деле, описание немного вводит в заблуждение:backangle
- это не угол backhead
, а угол в затылке (см. Стрелки 5 и 6).И, похоже, не предвидится, что стрелка имеет две разные головки.Либо у него нет головы, одна спереди или одна сзади или две одинаковые с обеих сторон.Если вы отметите gnuplot arrow demo , вы не найдете стрелок с разными головками спереди и сзади.
В качестве обходного пути, возможно, даже проще, чем разделить стрелку (3 и 4), построите вторуюстрелки (7 и 8) друг над другом, одна с задней головкой и одна с (передней) головой.
Результат: