Довольно графики и диаграммы в Python

Каковы доступные библиотеки для создания хороших диаграмм и графиков в приложении Python?

Ответ 1

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

Сегодня я выпустил версию 1.1. Если интересно, проверьте его на CairoPlot v1.1

EDIT: После долгой и холодной зимы CairoPlot снова развивается. Ознакомьтесь с новой версией GitHub.

Ответ 2

Для интерактивной работы Matplotlib является зрелым стандартом. Он предоставляет API-интерфейс OO, а также интерактивный API в стиле Matlab.

Chaco - это более современная библиотека графических изображений от людей в Enthought. Он использует библиотеку рисования Enthought Kiva и в настоящее время работает только с Wx и Qt с OpenGL на пути (у Matplotlib есть серверы для Tk, Qt, Wx, Cocoa и многие типы изображений, такие как PDF, EPS, PNG и т.д.)., Основными преимуществами Chaco являются его скорость относительно Matplotlib и его интеграция с API Enthought Traits для интерактивных приложений.

Ответ 3

Вы также можете использовать pygooglechart, в котором используется Google Chart API. Это не то, что вы всегда хотели бы использовать, но если вы хотите небольшое количество хороших, простых, графических карт и всегда в сети, и особенно если вы все равно показываетесь в браузере, это хороший выбор.

Ответ 4

Вы не указали, какой формат вывода вам нужен, но reportlab умеет создавать диаграммы как в формате pdf, так и в растровом (например, png) формате.

Вот простой пример barchart в формате png и pdf:

from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.barcharts import VerticalBarChart

d = Drawing(300, 200)

chart = VerticalBarChart()
chart.width = 260
chart.height = 160
chart.x = 20
chart.y = 20
chart.data = [[1,2], [3,4]]
chart.categoryAxis.categoryNames = ['foo', 'bar']
chart.valueAxis.valueMin = 0

d.add(chart)
d.save(fnRoot='test', formats=['png', 'pdf'])

alt text http://i40.tinypic.com/2j677tl.jpg

Примечание: изображение было преобразовано в jpg хостом изображения.

Ответ 6

Я использовал pychart и думал, что это очень просто.

http://home.gna.org/pychart/

Все это нативный питон и не имеет загрузочной нагрузки. Я уверен, что matplotlib прекрасен, но я буду загружать и устанавливать в течение нескольких дней, и мне просто нужна одна диаграмма измерительной диаграммы!

Кажется, он не обновился через несколько лет, но он работает!

Ответ 7

Вы просмотрели ChartDirector для Python?

Я не могу говорить об этом, но я использовал ChartDirector для PHP, и это довольно хорошо.

Ответ 8

NodeBox является потрясающим для создания сырой графики.

Ответ 9

Если вы хотите использовать gnuplot для отображения, вы должны рассмотреть Gnuplot.py. Он предоставляет объектно-ориентированный интерфейс для gnuplot, а также позволяет передавать команды непосредственно в gnuplot. К сожалению, он больше не активно развивается.

Ответ 10

Chaco из enthought это еще один вариант

Ответ 12

Я поклонник PyOFC2: http://btbytes.github.com/pyofc2/

Это просто пакет, который позволяет легко генерировать данные JSON, необходимые для Open Flash Charts 2, которые очень красивы. Ознакомьтесь с примерами по ссылке выше.

Ответ 14

Вы также можете рассмотреть диаграммы Google.

Технически не API-интерфейс python, но вы можете использовать его из python, он достаточно быстр для кодирования, и результаты, как правило, выглядят красиво. Если вы случайно используете свои сюжеты в Интернете, это будет еще лучшее решение.

Ответ 15

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

Ядро библиотеки PLplot можно использовать для создания стандартных графиков x-y, полулогарифмических графиков, логарифмических графиков, контурных графиков, 3D-графиков, сетчатых участков, гистограмм и круговых диаграмм. Он работает в Windows (2000, XP и Vista), Linux, Mac OS X и других Unices.