Диаграммы в веб-приложениях django
Вопрос
Я хочу встроить диаграмму в веб-приложение, разработанное с использованием django.
Я наткнулся на API Google диаграмм, Лаборатория отчетов, Пикарт, MatPlotLib и Диаграммный директор
Я хочу сделать это на стороне сервера, а не отправлять AJAX-запрос в Google chart APIs, так как я также хочу встроить диаграмму в PDF.
Какой вариант лучше всего использовать, и каковы относительные достоинства и недостатки одного из них по сравнению с другим.
Решение
Другой вариант - CairoPlot .
Мы выбрали matplotlib поверх других для серьезного построения графиков в одном из наших приложений django, в первую очередь потому, что оно было единственным, которое дало нам именно тот вид контроля, который нам нужен.
Производительность генерации PNG для нас была хорошей, но ... это было узкоспециализированное приложение с менее чем 10 логинами в день.
Другие советы
Я участвую в проекте с открытым исходным кодом, Djime , в котором используется OpenFlashChart 2 .
Как вы можете видеть из
Откройте флэш-диаграмму 2 http://teethgrinder.co.uk/open-flash-chart-2/ библиотека python http://btbytes.github.com/pyofc2/ киби
Один из пакетов, который я хотел попробовать, - графит . Это графический сервер / платформа, созданная с помощью Django. Он специализируется на «числовых данных временных рядов»; хотя, как цены на акции или использование полосы пропускания. Если это соответствует вашим потребностям, я бы проверил это. Вот несколько скриншотов:
Мне нравятся графики на стороне клиента, потому что вы можете получить полное изображение страницы. Р>
Хорошие варианты - это Jquery Flot: http://code.google.com/p/. flot / который может загружать данные JSON. Тем не менее, вы не получите поддержку PDF.
Возможно, вам захочется взглянуть здесь: Приложение Django Plotting . В HowTo описывается, как встраивать графики matplotlib в интерфейс администратора и создавать представление PDF.
Я использовал FusionCharts Free с Django.
Он основан на flash, с открытым исходным кодом, имеет несколько лицензий и хорошо документирован. Это ActionScript 1, но версия AS не была для меня критерием, хотя могла быть и для других.