Краткое руководство по использованию gnuplot с python?
Я пытаюсь нарисовать график в Python, используя Gnuplot. Мне трудно найти руководство/учебники, как начать.
Что мне интересно: какие файлы/программы необходимы? (Я использую Ubuntu), с чего начать?
Если кто-то может порекомендовать хороший учебник, это было бы очень оценено!
Спасибо!
Ответы
Ответ 1
Вы можете попробовать gnuplot.py. Это интерфейс для gnuplot, который я использовал в прошлом.
На веб-сайте у вас есть некоторые указания, и в дистрибутиве есть несколько сценариев.
На самом деле очень просто запустить gnuplot непосредственно из python. Исходный код gnuplot.py даст вам ценные советы. См. Также здесь и здесь для других альтернатив.
Как рекомендует другой вариант использования matplotlib. Matplotlib замечательный, и я использую его как свою основную библиотеку визуализации. Недостатком является то, что работа с большим количеством данных может замедляться. gnuplot в этом случае является хорошим вариантом.
Ответ 2
Ваш подход зависит от того, что у вас уже есть и с чем вы хотите работать. Для построения графика с gnuplot вам нужно две вещи:
- gnuplot script, который описывает, как должен выглядеть полученный график (название, описание осей, легенда...)
- Файл данных, содержащий данные, которые вы хотите построить
Если у вас уже есть файл gnuplot script, и вы просто хотите писать новые файлы данных с помощью python, этот подход звучит по моему выбору. Просто экспортируйте данные в указанный формат, который вы использовали в ваших файлах данных, и запустите gnuplot из python с чем-то вроде
import os
import subprocess
p = subprocess.Popen("gnuplot <scriptname>", shell = True)
os.waitpid(p.pid, 0)
Не забывайте, что вам, возможно, придется изменить путь к файлу данных в gnuplot script, если вы выписываете новые файлы данных. Так что-то вроде этого:
plot "<path>" ...
Если у вас еще нет gnuplot script, который вы хотите использовать, вы можете определенно написать его и использовать с этого момента, но с использованием python есть и другие альтернативы.
Вы можете взглянуть на matplotlib, который является графической библиотекой, которая очень похожа на способ Matlab использует команду plot. Это очень хорошо документировано, и есть много учебников и примеров, в которые вы можете учиться и работать.