Как нарисовать вертикальную линию в gnuplot? - PullRequest
28 голосов
/ 16 декабря 2010

например. если у меня есть график и я хочу добавить вертикальные линии на каждые 10 единиц вдоль оси X.

Ответы [ 4 ]

43 голосов
/ 16 декабря 2010

Вот фрагмент из моего perl-скрипта, который делает это:

print OUTPUT "set arrow from $x1,$y1 to $x1,$y2 nohead lc rgb \'red\'\n";

Как вы могли догадаться из вышесказанного, он на самом деле нарисован как "безголовая" стрелка.

30 голосов
/ 25 февраля 2016

Из документации Gnuplot .Чтобы нарисовать вертикальную линию снизу вверх на графике при x = 3, используйте:

set arrow from 3, graph 0 to 3, graph 1 nohead

13 голосов
/ 21 сентября 2013

в качестве альтернативы вы также можете сделать это:

p '< echo "x y"' w impulse

x и y - координаты точки, в которую вы рисуете вертикальную черту

9 голосов
/ 03 октября 2013

Вы можете использовать функцию grid для второй неиспользуемой оси x2, которая является наиболее естественным способом рисования набора регулярных отстоящих линий.

set grid x2tics
set x2tics 10 format "" scale 0

В общем случае сеткарисуется в том же положении, что и тики на оси.Если положение линий не соответствует положению тиков, gnuplot предоставляет дополнительный набор тиков, который называется x2tics.format "" и scale 0 скрывают x2tics, поэтому вы видите только линии сетки.

Вы можете стилизовать линии как обычно с помощью linewith, linecolor.

...