2009-03-04 1 views
20

Я хочу встроить диаграмму в веб-приложение, разработанное с использованием django.Графики в django Веб-приложения

Я встречал Google charts API, ReportLab, PyChart, MatPlotLib и ChartDirector

Я хочу сделать это на стороне сервера, а не отправить запрос AJAX к API, диаграммы Google, как и я хочу, чтобы вставить диаграмму в PDF.

Какой вариант лучше всего использовать, и каковы относительные достоинства и недостатки одного над другим.

+0

Что означает «лучший» в этом контексте? Определите некоторые критерии, которые вы хотите оптимизировать. –

+1

Простота API, эстетика и возможность встроить в PDF легко –

+0

Это говорит о том, что если вы считаете, что вложение файла png в pdf легко, CairoPlot - хороший выбор. – Rodrigo

ответ

7

Другой вариант: CairoPlot.

Мы выбрали matplotlib над другими для какого-то серьезного графика внутри одного из наших приложений django, прежде всего потому, что это был единственный, который дал нам именно тот контроль, который нам нужен.

Производительность PNG была прекрасной для нас, но ... это было очень специализированное приложение с менее чем 10 входами в день.

+0

Привет, я поддерживаю CairoPlot. Не могли бы вы определить, чего у CairoPlot не хватало для вас? Может быть, я смогу это исправить, чтобы приложения Django стали лучше. – Rodrigo

+0

@Rodrigo: Если я помню с CairoPlot, проблема была просто в том, что мы не обнаружили CairoPlot, пока у нас уже не было диаграмм, закодированных с использованием matplotlib. Я проверю с членами моей команды, хотя, чтобы посмотреть, есть ли что-то, что я забываю. Наш проект также был до-1.1, так что это может быть проблемой. –

+0

@Van Gale: Ницца. Если вы попытаетесь использовать его в настоящее время, вы должны использовать версию trunk, поскольку мы еще не выпустили 1.2. – Rodrigo

5

Ну, я вовлечен в проект с открытым исходным кодом, Djime, который использует OpenFlashChart 2.

Как вы можете видеть из our code, генерация данных JSON, которые использует OFC, немного сложна, но результат очень приятный и удобный, поскольку вы можете добавлять всплывающие подсказки и т. Д. К различным элементам.

+1

Я не люблю Flash, поэтому мой +1 предназначен для вашего проекта, который я раньше не видел, и для него это выглядит как серьезный проект, а не игрушка. Благодаря! –

+0

@mikl ссылка на проект DEAD: | –

0

Я использовал FusionCharts Free с Django.

Его основанная на вспышке, с открытым исходным кодом, с несколькими лицензиями и хорошо документированная. Это ActionScript 1, но версия AS для меня не была для меня критерием, хотя это могло быть для других.

3

Один пакет, который я хотел попробовать, это graphite. Это графический сервер/платформа, построенная с помощью Django. Он специализирован для «цифровых данных временных рядов», хотя, например, цены на акции или использование полосы пропускания. Если это соответствует вашим потребностям, я бы это выяснил. Вот несколько скриншотов:

http://graphite.wikidot.com/screen-shots

1

Мне нравится на стороне клиента диаграммы, потому что вы можете получить полную страницу заговоры.

Хорошие варианты, кажется, JQuery Flot: http://code.google.com/p/flot/, который может загружать данные JSON. Однако вы не получите поддержку PDF.

1

Возможно, вы можете посмотреть здесь: Django Plotting app. В HowTo описывается, как встраивать графики matplotlib в интерфейс администратора и создавать PDF-представление.

+0

Ваша ссылка сгнила. – tacaswell

Смежные вопросы