#gnuplot
#gnuplot
Вопрос:
Я хочу создать векторные головки на моем графике с T head в верхнем конце и arrowhead в нижней части.
Ответ №1:
Если вы прочитали справку 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, вы не найдете стрелок с разными головками спереди и сзади.
В качестве обходного пути, возможно, даже проще, чем разделение стрелки (3 и 4), нанесите две стрелки (7 и 8) друг на друга, одну с задней головкой, а другую с (передней) головкой.
Результат: