Краткое руководство по использованию 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. Это очень хорошо документировано, и есть много учебников и примеров, в которые вы можете учиться и работать.