Я создаю веб-приложение для Google App Engine для удовольствия, и я хотел бы включить графики, чтобы пользователи могли видеть некоторые статистические данные. Есть ли свободные (как в пивной, так и речевой) библиотеки JavaScript, которые могут взять таблицу или сделать какой-либо вызов AJAX и отобразить график?Графическая библиотека JavaScript
ответ
Flot может создать некоторые действительно хорошо выглядящие графики. Это библиотека JavaScript, а не такая служба, как Google Charts. Однако это требует jQuery.
Заканчивать Google Charts
Если вы используете JQuery:
Для пользователей YUI:
Я заметил, что несколько человек упомянули ФЛОТ, но никто не говорил Flotr! Также в Google Code http://code.google.com/p/flotr/.
Проверьте пример JSON, в комплекте с кодом для этого, right here.
Для этого требуется библиотека Javascript Prototype.js и работает во всех современных браузерах!
Вот мой личный список с комментариями:
- Flot: + красивые пресеты + очень прост в использовании (самый тяжелое было конвертирование DateTimes ISO до даты Javascript, что не трудно вообще) + использует JQuery - не делает круговые диаграммы, выглядит немного заброшенным, но я мог ошибаться в этом
- Flotr: ++ даже более красивые графики, чем Flot + -use Prototype (с которым я никогда не работал), -no pie диаграммы
- YUI: + круговые диаграммы! + поддержка и сильная команда & community -uses Flash, ugh -doesn't обрабатывать временные оси так же хорошо, как Flot
- API-интерфейсы Google API (а не библиотека JS): + поддержка & сообщество + симпатичная, слишком-утомительная конструкция REST URL-адрес для любого более сложного графа -ны автоматических оси даты/времени поддержки
В двух словах, для маленьких простых графов я использовать чарты API Google, но для моего текущего проекта (внутренний инструмент отчетности) скорее всего, это Flot, хотя если бы это был код, обращенный к клиенту, я бы, вероятно, посмотрел дальше или попробовал Flotr/Prototype.
Theres Google Visualization API,
Это позволяет создавать простые графики/таблицы (некоторые из них даже интерактивные) в значительной степени все в JavaScript
google.load("visualization", "1", {packages:["areachart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Year');
data.addColumn('number', 'Sales');
data.addColumn('number', 'Expenses');
data.addRows(2);
data.setValue(0, 0, '2004');
data.setValue(0, 1, 1000);
data.setValue(0, 2, 400);
data.setValue(1, 0, '2005');
data.setValue(1, 1, 1170);
data.setValue(1, 2, 460);
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, {width: 400, height: 240, legend: 'bottom', title: 'Company Performance'});
}
Вот некоторые примеры из галереи Google визуализаций доступен на данный момент.
http://code.google.com/apis/visualization/documentation/gallery/images/icon-areachart.png http://code.google.com/apis/visualization/documentation/gallery/images/icon-areachart.pnghttp://code.google.com/apis/visualization/documentation/gallery/images/icon-barchart.pngalt text http://code.google.com/apis/visualization/documentation/gallery/images/icon-gauge.pngalt text http://code.google.com/apis/visualization/documentation/gallery/images/icon-piechart.png
Highcharts выглядит действительно впечатляюще. Он основан на jQuery или Mootools.
jQuery Визуализация может принимать таблицы и превращать их в графики.
Пример использования: http://www.filamentgroup.com/examples/charting_v2/
Flot что StackOverflow использует для репутации графа на странице вашего профиля. – Mike 2008-10-31 06:08:08
GFlot (http://code.google.com/p/gflot/) - довольно хорошая обертка, если вы используете GWT – 2009-10-14 18:52:06
Просто добавьте современную ноту здесь - я просто сделал анализ кучи разных графических объектов javascript библиотеки и флот по-прежнему тот, который мне больше всего понравился, хотя другие, похоже, находятся в более активном развитии. – adavea 2012-07-18 21:15:14