Отображение многомерного массива на гистограмме (в JavaScript)? - PullRequest
2 голосов
/ 09 ноября 2009

Может ли кто-нибудь дать мне несколько советов о том, как отображать многомерный массив в форме гистограммы?

Массив является многомерным, с тремя элементами в каждой части - и элементы определяются HTML-формой.

Так что, если возможно отобразить этот вид массива в виде гистограммы в Javascript на стандартном HTML-сайте, я был бы признателен за помощь!

Спасибо

Ответы [ 2 ]

3 голосов
/ 09 ноября 2009

Проверьте Flot и MilkChart . Первый расширяет jQuery , второй MooTools . Оба используют элемент canvas , который теперь поддерживается всеми основными браузерами (даже IE с включением дополнительного скрипта). Посмотрите на вкладку reputation в вашем профиле stackoverflow, чтобы увидеть, как она используется. Я использовал Flot (еще не пробовал MilkChart) в проекте раньше, и хотя способ передачи данных в него может показаться немного неинтуитивным на первый взгляд, вы обнаружите, что он на самом деле довольно мощный для решения без флеш-карт , Flot также определяет пользовательские события, которые вы можете использовать для определения взаимодействий диаграмм. Flot поддерживает составные гистограммы с помощью плагина, и я считаю, что вы можете создавать с его помощью и кластерные гистограммы.

Вы всегда можете использовать какое-то декларативное графическое решение, использующее элементы div в виде столбцов на графике, но это не так просто и непротиворечиво в браузерах, как рисование диаграмм с помощью canvas.

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

Моя рекомендация - это первое решение, использующее холст HTML, специально использующее Flot, поскольку это библиотека, с которой у меня больше всего опыта, и за которую я могу поручиться. Может быть, у кого-то есть комментарии по поводу MilkChart.

EDIT:

Другая библиотека, которую я забыл упомянуть, это PlotKit , которая расширяет MochiKit . Я не использовал его, но, видимо, он поддерживает не только построение диаграмм с использованием элемента canvas, но также поддерживает построение диаграмм с использованием SVG . Масштабируемая векторная графика предлагает вам еще одну декларативную графическую опцию, помимо взлома решения с использованием HTML, однако я не уверен, насколько кроссбраузерным будет решение на основе SVG (особенно в IE).

EDIT:

Здесь - это плагин jQuery, который строит графики с использованием элементов div. Мне лично не нравится этот вариант, потому что я думаю, что он более сложный и менее легко настраиваемый, чем некоторые другие параметры. Я чувствую, что использование элементов HTML для создания сложной декларативной графики (хотя и впечатляющей) является своего рода взломанным решением и, по моему опыту, в какой-то момент вызовет проблемы.

0 голосов
/ 10 ноября 2009

Согласно документации, Flot и MilkChart работают только в IE, если установлено расширение excanvas.

Для большей мобильности я предлагаю проверить API визуализации Google , который невероятно прост в использовании и имеет много различных возможностей отображения. Визуализации отображаются как элементы flash (интерактивные) или как простые изображения (статические).

...