Краткое руководство, как использовать gnuplot с python? - PullRequest
18 голосов
/ 10 ноября 2011

Я пытаюсь нарисовать график на Python, используя Gnuplot. Мне трудно найти какие-либо руководства / учебные пособия, как начать.

Что мне интересно: какие файлы / программы нужны? (Я использую Ubuntu), с чего мне начать?

Если бы кто-нибудь мог порекомендовать хороший учебник, он был бы очень признателен!

Спасибо!

Ответы [ 2 ]

13 голосов
/ 10 ноября 2011

Вы можете попробовать gnuplot.py . Это интерфейс к gnuplot, который я использовал в прошлом. На сайте у вас есть некоторые указания и несколько примеров скриптов в дистрибутиве.

На самом деле очень просто запустить gnuplot из python. Исходный код gnuplot.py даст вам ценные советы. Смотрите также здесь и здесь для других альтернатив.

Как и другие рекомендует, альтернативой является использование matplotlib. Matplotlib великолепен, и я использую его как основную библиотеку визуализации. Недостатком является то, что работа с большим количеством данных может стать медленной. Гнуплот в этом случае - хороший вариант.

9 голосов
/ 10 ноября 2011

Ваш подход зависит от того, что у вас уже есть и с чем вы хотите работать.Чтобы построить график с помощью gnuplot, вам понадобятся две вещи:

  1. Скрипт gnuplot, который описывает, как должен выглядеть результирующий график (заголовок, описание оси, легенда ...)
  2. Файл данных, в котором хранятся данные, которые вы хотите построить

Если у вас уже есть, скажем, файл сценария gnuplot, и вы просто хотите записать новые файлы данных, используя python, то такой подход звучит в моемвариант.Просто экспортируйте данные в указанный формат, который вы использовали в ваших файлах данных ранее, и запустите gnuplot из Python, например,

import os
import subprocess
p = subprocess.Popen("gnuplot <scriptname>", shell = True)
os.waitpid(p.pid, 0)

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

plot "<path>" ...

Если у вас еще нет скрипта gnuplot, который вы хотите использовать, вы, безусловно, можете написать его и использовать его с этого момента, но с помощью python есть и другие альтернативы.

Вы можете взглянуть на matplotlib , которая является библиотекой графиков, которая очень похожа на то, как Matlab использует команду plot.Он очень хорошо задокументирован, и в Интернете можно найти множество учебных пособий и примеров, с которыми можно поработать.

...