Я не уверен, почему этот был закрыт. Он не призывает к пламенным войнам или мнениям и имеет ряд четких ответов: существует лишь несколько библиотек для построения графиков Python.
Alex B
7
Почему это закрыто? Это полезный вопрос. В любом случае, я рекомендую pip search plotпосмотреть, что получится. Я открыл для себя pygal, сделав это, и pygal отлично выглядит.
Mark E. Haase
Также стоит отметить, что этот вопрос появляется в начале поиска Google по запросу "диаграмма питона" - достаточная причина, чтобы открыть его снова.
Джордж Лунд
Этот вопрос полезный, закрывать его не стоит. Другие варианты включают боке и PyX
atomh33ls
Ответы:
50
Я поддерживаю CairoPlot и очень горжусь, что он появился здесь. Конечно, matplotlib великолепен, но я считаю, что CairoPlot лучше выглядит. Так что для презентаций и веб-сайтов это очень хороший выбор.
Сегодня выпустил версию 1.1. Если интересно, посмотрите на CairoPlot v1.1
РЕДАКТИРОВАТЬ: После долгой и холодной зимы CairoPlot снова развивается. Ознакомьтесь с новой версией на GitHub .
Cairoplot действительно не очень хорошо работает с большими объемами данных (поправьте меня, если я ошибаюсь). Вы не можете добавлять метки к оси, чтобы суммировать hlabels или vlabels. Я все равно не вижу возможности построить несколько линий на графике или контролировать используемые цвета. Я мог бы взломать сценарий ... перейти на matplotlib ...
Джон
Каждый должен игнорировать комментарий Джона, его очень легко обозначить осью и определить используемые цвета ... Проверьте tests.py для примеров. В любом случае, спасибо за хорошую библиотеку.
Дэниел Магнуссон,
38
Для интерактивной работы Matplotlib - зрелый стандарт. Он предоставляет API в стиле объектно-ориентированного программирования, а также интерактивный API в стиле Matlab.
Chaco - это более современная библиотека графиков от сотрудников Enthought. Он использует библиотеку векторной графики Enthought Kiva и в настоящее время работает только с Wx и Qt с OpenGL на подходе (Matplotlib имеет бэкенды для Tk, Qt, Wx, Cocoa и многих типов изображений, таких как PDF, EPS, PNG и т. Д.). Основными преимуществами Chaco являются его скорость по сравнению с Matplotlib и его интеграция с Enthought Traits API для интерактивных приложений.
Я согласен с тем, что из всех API-интерфейсов matplotlib действительно кажется наиболее зрелым и многофункциональным (а также все еще поддерживается и развивается). Просто перейдите в его «галерею», чтобы увидеть различные примеры (с соответствующим исходным кодом): matplotlib.sourceforge.net/gallery.html . Однако я бы сказал, что его API, ну ... сложный - названия методов сводят меня с ума :) Говоря о "сложных" и простых примерах - это сообщение в блоге очень помогло мне начать с matplotlib: shreevatsa.wordpress .com / 2010/03/07 / matplotlib-tutorial
Тимур
Извините, я также должен добавить, что matplotlib не только интерактивен - вы можете сохранить график / диаграмму в файл. Например PNG, PDF или SVG.
Тимур
18
Вы также можете использовать pygooglechart , который использует Google Chart API . Это не то, что вы всегда хотели бы использовать, но если вам нужно небольшое количество хороших, простых диаграмм и всегда в сети, и особенно если вы все равно отображаете в браузере, это хороший выбор.
Предупреждение: диаграммы, которые позволяет создавать Google, довольно ограничены по размеру (ширина * высота <= 300 000 пикселей). Кроме того, Google Charts (а не Python API) захлебнется даже небольшими наборами данных. В остальном они великолепны.
Пэт Ноц
1
Диаграммы изображений Google по-прежнему доступны, но не поддерживаются. Для получения дополнительной информации перейдите на developers.google.com/chart/image/?hl=nl
ndequeker
15
Вы не упомянули, какой формат вывода вам нужен, но reportlab хорош для создания диаграмм как в формате pdf, так и в растровом (например, png) формате.
Вот простой пример гистограммы в формате png и pdf:
Если возникает исключение «RenderPMError: Can't setFont (Times-Roman), пропускающие файлы T1?» (как у меня) в d.save в приведенном выше коде - Решение - загрузить и извлечь reportlab.org/ftp/fonts/pfbfer.zip в каталог reportlabs / fornts
Да, я использовал dot_line_plot () в инструментах отчетности / статистики. Это красиво и просто. Посмотрите главный ответ Родриго о Matplotlib и CairoPlot. Я также использую Matplotlib. Фактически, я использую его прямо сейчас.
elmarco
Странные люди не уловили ваш ответ, но это самый популярный в настоящее время ответ.
pihentagy
Я думаю, что это могло бы получить больше голосов, если бы был минимальный пример. Ваш ответ станет бесполезным, когда ссылка будет мертвой.
Мартин Тома
спасибо, в блоге уже есть много информации. и сам автор ответил здесь более подробно позже.
elmarco 08
6
Я использовал pychart и подумал, что это очень просто.
Это все нативный питон, и у него нет нагрузки на зависимости. Я уверен, что matplotlib прекрасен, но я буду загружать и устанавливать несколько дней, и мне просто нужна одна столбиковая диаграмма!
Кажется, он не обновлялся через несколько лет, но это работает!
Если вам нравится использовать gnuplot для построения графиков, вам следует рассмотреть Gnuplot.py . Он предоставляет объектно-ориентированный интерфейс для gnuplot, а также позволяет передавать команды непосредственно в gnuplot. К сожалению, сейчас активно не развивается.
Это просто пакет, который позволяет легко генерировать данные JSON, необходимые для Open Flash Charts 2, которые очень красивы. Ознакомьтесь с примерами по ссылке выше.
Технически это не Python API, но вы можете использовать его из Python, его достаточно быстро кодировать, и результаты, как правило, выглядят хорошо. Если вам случится использовать свои участки в Интернете, это будет еще лучшим решением.
PLplot - это кроссплатформенный программный комплекс для создания научных графиков. Они не очень красивые (бросаются в глаза), но выглядят достаточно хорошо. Взгляните на несколько примеров (как исходный код, так и изображения).
Базовая библиотека PLplot может использоваться для создания стандартных графиков xy, полулогарифмических графиков, логарифмических графиков, изолиний, трехмерных поверхностных графиков, сеточных графиков, гистограмм и круговых диаграмм. Он работает в Windows (2000, XP и Vista), Linux, Mac OS X и других Unix.
pip search plot
посмотреть, что получится. Я открыл для себя pygal, сделав это, и pygal отлично выглядит.Ответы:
Я поддерживаю CairoPlot и очень горжусь, что он появился здесь. Конечно, matplotlib великолепен, но я считаю, что CairoPlot лучше выглядит. Так что для презентаций и веб-сайтов это очень хороший выбор.
Сегодня выпустил версию 1.1. Если интересно, посмотрите на CairoPlot v1.1
РЕДАКТИРОВАТЬ: После долгой и холодной зимы CairoPlot снова развивается. Ознакомьтесь с новой версией на GitHub .
источник
Для интерактивной работы Matplotlib - зрелый стандарт. Он предоставляет API в стиле объектно-ориентированного программирования, а также интерактивный API в стиле Matlab.
Chaco - это более современная библиотека графиков от сотрудников Enthought. Он использует библиотеку векторной графики Enthought Kiva и в настоящее время работает только с Wx и Qt с OpenGL на подходе (Matplotlib имеет бэкенды для Tk, Qt, Wx, Cocoa и многих типов изображений, таких как PDF, EPS, PNG и т. Д.). Основными преимуществами Chaco являются его скорость по сравнению с Matplotlib и его интеграция с Enthought Traits API для интерактивных приложений.
источник
Вы также можете использовать pygooglechart , который использует Google Chart API . Это не то, что вы всегда хотели бы использовать, но если вам нужно небольшое количество хороших, простых диаграмм и всегда в сети, и особенно если вы все равно отображаете в браузере, это хороший выбор.
источник
Вы не упомянули, какой формат вывода вам нужен, но reportlab хорош для создания диаграмм как в формате pdf, так и в растровом (например, png) формате.
Вот простой пример гистограммы в формате png и pdf:
альтернативный текст http://i40.tinypic.com/2j677tl.jpg
Примечание: изображение было преобразовано в jpg хостом изображения.
источник
CairoPlot
источник
Я использовал pychart и подумал, что это очень просто.
http://home.gna.org/pychart/
Это все нативный питон, и у него нет нагрузки на зависимости. Я уверен, что matplotlib прекрасен, но я буду загружать и устанавливать несколько дней, и мне просто нужна одна столбиковая диаграмма!
Кажется, он не обновлялся через несколько лет, но это работает!
источник
Вы изучали ChartDirector для Python ?
Я не могу говорить об этом, но я использовал ChartDirector для PHP, и он неплохой.
источник
NodeBox отлично подходит для создания необработанной графики.
источник
Если вам нравится использовать gnuplot для построения графиков, вам следует рассмотреть Gnuplot.py . Он предоставляет объектно-ориентированный интерфейс для gnuplot, а также позволяет передавать команды непосредственно в gnuplot. К сожалению, сейчас активно не развивается.
источник
Чако от Enthought - еще один вариант
источник
Вам также следует рассмотреть PyCha http://www.lorenzogil.com/projects/pycha/
источник
Я фанат PyOFC2: http://btbytes.github.com/pyofc2/
Это просто пакет, который позволяет легко генерировать данные JSON, необходимые для Open Flash Charts 2, которые очень красивы. Ознакомьтесь с примерами по ссылке выше.
источник
Пожалуйста, обратите внимание на встраивание Open Flash Chart для WHIFF http://aaron.oirt.rutgers.edu/myapp/docs/W1100_1600.openFlashCharts и на встраивание amCharts для WHIFF http://aaron.oirt.rutgers.edu/myapp/ amcharts / doc . Спасибо.
источник
Вы также можете рассмотреть диаграммы Google .
Технически это не Python API, но вы можете использовать его из Python, его достаточно быстро кодировать, и результаты, как правило, выглядят хорошо. Если вам случится использовать свои участки в Интернете, это будет еще лучшим решением.
источник
PLplot - это кроссплатформенный программный комплекс для создания научных графиков. Они не очень красивые (бросаются в глаза), но выглядят достаточно хорошо. Взгляните на несколько примеров (как исходный код, так и изображения).
Базовая библиотека PLplot может использоваться для создания стандартных графиков xy, полулогарифмических графиков, логарифмических графиков, изолиний, трехмерных поверхностных графиков, сеточных графиков, гистограмм и круговых диаграмм. Он работает в Windows (2000, XP и Vista), Linux, Mac OS X и других Unix.
источник