2016-02-28 2 views
2

Я использовал стрелку для рисования вертикальной линии, и я хотел бы назвать ее так, чтобы она была показана в ключе. Есть ли способ сделать это? Насколько я могу судить по руководству, в синтаксисе arrow нет опции title, но я уверен, что есть обходной путь.Установить заголовок для стрелки в gnuplot

Единственное, о чем я думаю, это рисовать стрелу того же цвета, что и нечто вне диапазона сюжета, и использовать ее название, но оно довольно неуклюжие.

Я пользуюсь терминалом pngcairo, на всякий случай это актуально.

Спасибо.

ответ

2

Gnuplot будет игнорировать все с недопустимым значением (например, 1/0). Вы можете воспользоваться этим, чтобы построить то, что вы хотите.

Предположим, что мы устанавливаем вертикальную линию с

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

Теперь, если я хочу, чтобы это было в ключе, я могу построить линию с ЛТ 0, но указать у-значение как 1/0 , Это вставляет его в ключ, но на самом деле не будет рисовать линию.

plot [-3:3] x**2 t "X Squared", 1/0 t "Vertical Line" lt 0 

enter image description here

1

Вы можете сделать что-то with vectors, что даст ключ title. Он отображает стрелки на основе точек данных. using утверждение х: у: Δ х: Δ у где хвост расположен в точке (х, у) и головка находится в точке (х + Δ х , y + Δ y). Для вертикальной линии, вы можете отключить голову стрелки и использовать Δ х нуля:

set terminal pngcairo dashed 
set output 'plot.png' 

set angles degrees 
set xrange [0:360] 
set yrange [-2:2] 

plot sin(x), '-' using 1:(-2):(0):(4) with vectors nohead lc rgb 'black' title '90 degrees' 
90 
e 

Result of gnuplot script