Кроссплатформенное создание отчетов из текстовых файлов

Я использую GraphViz для многих вещей, но это не сработает для того, что я имею в виду. Я ищу что-то подобное для создания отчетов.

Мне нужен инструмент, который берет текстовые файлы - мне все равно, в каком формате, возможно, какой-то собственный командный язык - и генерирует графические файлы.

Должен иметь
- бесплатно
- принимает на вход текстовый файл
- гистограммы
- PNG, JPG

Приятно иметь
- я сильно предпочитаю кроссплатформенность, но, возможно, смогу жить с решением только для Windows, если нет ничего кроссплатформенного или если решение Windows намного превосходит по функциям
- круговые диаграммы
- числовые сетки / таблицы
- другие типы диаграмм
- другие причудливые отчеты (?)
- множество опций, таких как цвета (u) rs, заголовки, метки и т. д.
- SVG
- PDF
- широкое сообщество пользователей, с хорошей поддержкой, примерами и документацией
- хорошо зарекомендовавшая себя, стабильная и хорошо проверено
- все, что вы можете придумать

Ответы (2)

Существует множество библиотек для рисования графиков Python , которые позволяют очень быстро генерировать графики и либо отображать, либо сохранять их. Хорошей отправной точкой является matplotlib . NB. Для простоты установки в Windows вы можете взглянуть на PythonXY , который включает в себя Python, Pandas и Matplotlib, а также многое другое.

  • бесплатно - да и с открытым исходным кодом
  • принимает входную форму текстового файла - Да . Инструкции по рисованию графика представляют собой текстовый файл python, а данные могут быть практически любого формата или источника.
  • Интерактивное использование — Да
  • гистограммы - Да
  • PNG, JPG - обязательно PNG , JPG, если у вас установлен PIL или Pillow
  • круговые диаграммы - да и полярные

введите описание изображения здесь введите описание изображения здесьвведите описание изображения здесь

  • числовые сетки/таблицы - Да
  • другие типы диаграмм - 100s
  • другие причудливые отчеты - много особенно, если вы добавите панд в смесь!

    введите описание изображения здесь

  • множество опций, таких как цвета, заголовки, метки и т. д. - Да

  • SVG — зависит от серверной части
  • PDF- да
  • Кроссплатформенность - Да - Очень
  • широкое сообщество пользователей, с хорошей поддержкой, примерами и документацией - Очень
  • хорошо зарекомендовавший себя, стабильный и хорошо протестированный - да . Он используется тысячами людей и разрабатывается как минимум с 2002 года. На данный момент SO сообщает о 14 934 вопросах с тегом matplotlib. Есть несколько книг по его использованию.
    • Существует несколько дополнительных наборов инструментов matplotlib, в том числе выбор из двух наборов инструментов для проецирования и картографирования: basemap и cartopy, трехмерное построение с помощью mplot3d, оси и помощники по осям в axes_grid и многое другое.введите описание изображения здесь

Пример 3D-графика:

>>> from matplotlib import cm
>>> from mpl_toolkits.mplot3d import Axes3D
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> fig = plt.figure()
>>> ax = fig.gca(projection='3d')
>>> X = np.arange(-5, 5, 0.25)
>>> Y = np.arange(-5, 5, 0.25)
>>> X, Y = np.meshgrid(X, Y)
>>> R = np.sqrt(X**2 + Y**2)
>>> Z = np.sin(R)
>>> surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm)
>>> plt.show()

введите описание изображения здесь

См. также Юпитер

Если вы создаете отчеты со встроенными диаграммами, я настоятельно рекомендую взглянуть на блокноты Jupyter и iPython . Эта бесплатная цепочка инструментов с открытым исходным кодом предоставит вам интерфейс на основе браузера для создания отчетов, включая:

  • ряд графических и графических библиотек
  • Ячейки уценки
  • MathJax для формул
  • Живые данные из Интернета
  • Ячейки кода в Python и ряде других языков, таких как R, Julia, Haskell и более 30 других языков, с исполняемым кодом и включенными в отчет результатами последнего запуска.
  • Встраивайте графику и видео из файлов или онлайн-источников
  • Сохранить как блокнот iPython (формат Text/JSON),
  • Экспорт в python, HTML, MarkDown, реструктурированный текст reST или PDF.
  • Онлайн-пробная версия здесь, но обычно вы запускаете локальный сервер (часто на том же компьютере).

Таким образом, вы можете включить макет страницы, вводный текст, данные, примеры, результаты обработки, графики, изображения, партию и создать окончательный вывод в формате pdf, веб-сайте или в обоих форматах, который выглядит действительно профессионально.

введите описание изображения здесь

Стив, это кажется идеальным, но я оставлю это открытым, чтобы посмотреть, привлечет ли это больше ответов (которые могут, например, принести пользу парням, не использующим Python (возможно, C/C++ и т. д.); мне? Я люблю Python). Я также хотел бы указать другим, что это отличный пример того, как нужно отвечать. Вы, очевидно, потратили довольно много времени, чтобы дать подробный ответ, который касается каждого из моих пунктов, и включение примера означает, что мне даже не нужно посещать связанный сайт, чтобы судить, подходит ли это тоже для меня или нет. Спасибо!
@Mawg - спасибо за приятные слова, которые я немного расширил, включив Jupyter, который позволил бы создавать полные отчеты, а также поддерживает другие языки.

Gnuplot Вероятно, заслуживает упоминания здесь.

Это приложение командной строки старой школы, восходящее к заре компьютерной графики, которое раньше использовалось довольно широко, но немного ушло из внимания с появлением IPython.