Как поместить формулу gnuplot в переменную - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть граф gnuplot, у которого есть большая формула и повторяемая формула для вычисления некоторого значения y. Немного похоже на это:

plot 'data1.csv' using 1:(column('a') / column('b') / 1000) with linespoints title 'data 1',
'data2.csv' using 1:(column('a') / column('b') / 1000) with linespoints title 'data 2';

Можно ли переместить формулу в переменную? Может быть что-то вроде (но не работает):

y = (column('a') / column('b') / 1000)
plot 'data1.csv' using 1:y with linespoints title 'data 1',
'data2.csv' using 1:y with linespoints title 'data 2';

1 Ответ

2 голосов
/ 11 апреля 2020

Не в переменную (скаляр), но вы можете определить функцию:

  y(v1,v2) = column(v1) / column(v2) / 1000
  plot 'data1.csv' using 1:(y('a','b')) with linespoints title 'data 1'

В вашем конкретном случае функции не нужно принимать фактические идентификаторы столбца в качестве параметров, потому что они постоянны. Таким образом, возможна более простая функция с одним фиктивным параметром

  y(dummy) = column('a') / column('b') / 1000
  plot 'data1.csv' using 1:(y(0)) with linespoints title 'data 1'
...