простое программируемое отображение данных - PullRequest
1 голос
/ 15 июля 2009

Я трачу большую часть своего времени на построение данных, но, к сожалению, я не нашел достойного решения для своих потребностей в построении графиков. На данный момент самая мощная и приятная библиотека, которую я нашел, которая выполняет черчение, это matplotlib. Результаты ошеломляющие, но я в основном трачу свое время на борьбу с библиотекой, когда пытаюсь делать простые вещи, такие как стрелка, как я хочу. Такие простые программы, как R и gnuplot, дают визуально менее привлекательные результаты, и они не основаны на графическом интерфейсе.

С другой стороны, такие программы, как xmgrace (или лучше), допускают прямое манипулирование нанесенными объектами и прямую обратную связь, но они терпят неудачу в двух важных моментах:

  1. если по какой-либо причине мой набор данных (обычно хранящийся в CSV-файлах) изменится, мне придется повторно импортировать его и снова выполнить манипуляции вручную
  2. как только я получу хорошую настройку графика, единственный способ, которым я должен воссоздать график, - это использовать графическую интерактивную программу. Я хотел бы иметь возможность запускать утилиту командной строки для моих файлов CSV и в результате получить .pdf без участия человека.

Мне все еще нужно найти что-то, что дает мне оба мира, и это имеет доступную цену. В идеале мне понадобится интерактивная программа с графическим интерфейсом (а-ля Origin) для генерации скриптов на основе matplotlib.

Есть ли у кого-нибудь советы по программному обеспечению, которое могло бы удовлетворить мои потребности в OSX (предпочтительно) или Linux?

Ответы [ 3 ]

4 голосов
/ 15 июля 2009

Вы можете проверить Игорь Про . Он довольно старый и причудливый, но он предоставляет самую продвинутую систему прорисовки, которую я когда-либо видел на Mac. Вы можете изменить что-либо графически, в командной строке или в файлах сценариев. Наиболее мощная функция (IMO) - это возможность автоматически создавать сценарий для воссоздания фигуры или использовать фигуру для создания сценария, который генерирует цифры , например (в стиле и т. Д.) Конкретной фигуры. Я использую Игоря для всех произведенных мной публикаций.

Данные хранятся в «волнах» (перевод: векторы), которые инкапсулируют данные и информацию о дельте между точками данных (например, шаг по времени). Рисунки опорных волн как их источник данных. При обновлении волны (например, путем повторного импорта файла CSV и указания, что данные перезаписывают определенные волны), все цифры, которые ссылаются на эту волну, автоматически обновляются.

Вы можете создавать «макеты», которые представляют собой макеты страниц, содержащие несколько графиков. Эти макеты также автоматически обновляются при обновлении любого из рисунков в макете (см. Выше). Вы можете добавить рисунок / текст / аннотации к графику или макету.

Имейте в виду: язык сценариев Igor Pro - это что-то вроде дурака VB и Matlab. Это заставляет мои глаза кровоточить. Это заставляет меня молиться Богу, чтобы боль только кончилась. Но вся система настолько мощна, что она того стоит.

2 голосов
/ 15 июля 2009

Я всегда использовал Matlab или R для такого рода вещей. Хотя вам может не нравиться, как выглядят типовые графики, я обнаружил, что, ознакомившись с библиотеками, я могу сделать их настолько красивыми, насколько захочу.

Если бы я был свободен, я бы попытался с этим справиться. Он чрезвычайно мощный и идеально подходит для того, что вам нужно (генерируйте диаграммы на лету прямо из файлов данных). Могу поспорить, что чем больше вам будет удобно с этим, вы обнаружите, что используете R для решения широкого круга задач, помимо вывода данных.

1 голос
/ 08 июня 2011

MathGL - это кроссплатформенная библиотека GPL, соответствующая всем вашим критериям. Он может создавать хорошую графику, он может читать CSV-файлы, у него есть окно для отображения графики (вам не нужно знать библиотеки виджетов), и он может печатать в консоли (вообще не нужно окно или X). При этом вы можете использовать C / C ++ / Fortran / Python / ... для собственного кода или MGL-скрипты для простоты (см. UDAV front-end в последнем случае).

Наконец, он может создавать растровые изображения (PNG / JPEG / GIF / ...) или векторные (EPS / SVG) выходные данные. Позже его можно легко конвертировать в PDF. Или вы можете создать PDF-файл напрямую с помощью U3D - в этом случае вам понадобятся библиотеки HPDF и U3D.

...