Выполнение математических операций над загруженными данными с помощью GNUplot - PullRequest
0 голосов
/ 20 сентября 2018

Я использую Linux с gnuplot и собираюсь загрузить простой файл данных с двумя столбцами и построить / сохранить его из некоторого кода на языке Python.

У меня не было проблем с выполнением руководств и примеров сИсключение составляет то, что теперь я хочу выполнить математическую операцию над одним из столбцов, например, взять log10() столбца, чтобы я строил (например) (x, log10(y)), где x и y - это двастолбцы в файле данных.

Это идеальная ссылка, показывающая, как это сделать:

Как построить функцию импортированных данных в gnuplot?

Проблема в том, что я хочу запустить bash-скрипт gnuplot, используя gnuplot -e ......, так как я запускаю его из Python, и он сразу удаляет знаки $ из моего скрипта, и он не работает.Если я решу не преобразовывать данные (оставьте их как есть), они будут работать нормально, поэтому все остальные синтаксисы в порядке.

По правде говоря, я не знаю, что пытается передать знак $и я думаю, что это как-то связано с моей операционной системой или чем-то еще, а не строго gnuplot.Любое понимание здесь было бы здорово.

1 Ответ

0 голосов
/ 20 сентября 2018

Вы должны экранировать знак $, чтобы оболочка не пыталась выполнить подстановку переменных.Вы делаете это, добавляя обратную косую черту прямо перед:

gnuplot -e "plot 'filename.dat' using 1:(log10(\$2))"

должно работать.

...