Вызов gnuplot из Python

У меня есть сценарий Python, что после того, как некоторые вычисления генерируют два файла данных, отформатированные как gnuplot вход.

Как я 'называю' gnuplot из Python?

Я хочу отправить следующую строку Python, как введено в gnuplot:

"plot '%s' with lines, '%s' with points;" % (eout,nout)

где 'eout' и 'nout' являются этими двумя именами файлов.

PS: Я предпочитаю не использовать дополнительные модули Python (например, gnuplot-py), только стандартный API.

Спасибо

19
задан Calleniah 8 October 2013 в 16:19
поделиться

2 ответа

Простой подход может быть просто написать третий файл, содержащий ваш файл GNUPLOT команды, а затем скажите Python, чтобы выполнить GNUPLOT с помощью этого файла. Скажем, вы пишете

"plot '%s' with lines, '%s' with points;" % (eout,nout)

в файл под названием TMP.GP. Затем вы можете использовать

from os import system, remove
system('gnuplot tmp.gp')
remove('tmp.gp')
7
ответ дан 30 November 2019 в 02:13
поделиться

Модуль Модуль позволяет вам вызывать другие программы:

import subprocess
plot = subprocess.Popen(['gnuplot'], stdin=subprocess.PIPE)
plot.communicate("plot '%s' with lines, '%s' with points;" % (eout,nout))
23
ответ дан 30 November 2019 в 02:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: