Координаты стрелки gnuplot (x, y) столбцы ошибок - PullRequest
1 голос
/ 30 января 2020

Я новичок в gnuplot, и моя цель - построить стрелки между каждой координатой данных. Мой файл ".dat" имеет только два столбца, разделенных одной вкладкой, где первая - это X, а вторая - компонент Y. Голова должна быть установлена ​​в следующей координате.

582.761 -326.288
574.806 -327.915

Моя команда была:

plot 'file.dat' using 1:2 with vectors head filled

Я могу получить только следующее сообщение об ошибке:

Не хватает столбцов для этого стиля

Извините за тупой вопрос, но я не мог понять ни документацию, ни другие вопросы по этой теме.

1 Ответ

2 голосов
/ 31 января 2020

Если вы отметите help vectors, вы увидите, что with vectors стиль печати требует 4 значения. И если я правильно понимаю ваш вопрос, я думаю, вы хотите построить стрелки от одной строки данных до следующей строки данных, правильно?

По выражению (x0=x1,x1=$1,x0) вы сохраняете предыдущее значение x в x0 и текущее значение в x1, но вы планируете x0. То же самое для y0 и y1. И (x1-x0) и (y1-y0) - это просто значения delta x и delta y, необходимые для стиля печати with vectors.

Код:

### vectors from data line to the next
reset session

$Data <<EOD
1   1
2   2
3   5
2   4
1   2
EOD

x1=y1=NaN
plot $Data u (x0=x1,x1=$1,x0):(y0=y1,y1=$2,y0):(x1-x0):(y1-y0) w vectors head filled notitle

### end of code

Результат:

enter image description here

...