У меня была задача выбрать java script библиотеку для генерации графиков и диаграмм в любом браузере и на любой операционной системе, в том числе iOS.
Существуют решения, позволяющие в браузерах использовать SVG для визуализации графики, а в Internet Explorer рисовать с помощью VML.
Существуют решения, позволяющие в браузерах использовать SVG для визуализации графики, а в Internet Explorer рисовать с помощью VML.
Сравнительные характеристики
amCharts
|
Highcharts
http://www.highcharts.com/stock/demo/ |
Google Chart
|
Raphaeljs
http://raphaeljs.com/analytics.html |
Flot jQuery
|
Elycharts
http://elycharts.com/examples |
|
ОС, браузеры | IE 6.0 + Firefox Chrome Safari Opera iOS (iPad, iPhone, iPod Touch) Android Honeycomb |
IE 6.0 + Firefox 2.0 + Chrome 1.0 + Safari 4.0 + Opera 9.0 + iOS (Safari)3.0 + Android Browser2.0 + |
Older IE iPhones, iPads (баги) Android and other |
IE 6.0+ Firefox 3.0+ Chrome 5.0+ Safari 3.0+ Opera 9.5+ iOS (Safari) Android Browser |
IE 6.0+ Firefox 2.x+ Safari 3.0+ Opera 9.5+ Konqueror 4.x+ iOS |
IE 6.0+ Firefox 3.0+ Chrome Safari 3.0+ Opera 9.5+ |
frameworks | + | + | + | + | ||
Совмещение диаграмм | + только JavaScript Charts |
Только highcharts | + | + | ||
Масштабирование по х, у | + только JavaScript Charts |
Только highcharts | +/? | ? | ||
Вывод точек с описанием | + | + | + | + | ||
Разбиение по временным отрезкам | + | + | - | - | - | |
Использует js frameworks | - | Опционально: jQuery, Mootools , Prototype | - | jQuery | jQuery | jQuery |
Импорт данных | JS, CSV, XML | JS, опционально: JSON , CSV, XML | JS, JSON , Chart Tools Datasource protocol, JSON , CSV, XML, … | JS, теоретически: JSON , CSV, XML | JS | JS, теоретически: JSON , CSV, XML |
Клиенты | Microsoft, Cisco, NASA, Motorola, Siemens | Yandex, IBM, NASA, Siemens, EMC, Sony | Весь мир | ? | ? | |
Стоимость | 61 500 р. Charts – 22 500 р |
23 000 - 130 000 р. Highcharts – 12 600 – 60 000 р |
free | free | free | free |
Лицензия | + | OEM license http://shop.highsoft.com/highstock.html#faq |
API Google https://developers.google.com/terms/ |
Licensed under the MIT http://raphaeljs.com/license.html | - | MIT |
Особенности | Изменение графиков в реальном времени | Вариант генерации на стороне клиента с помощью JSили на стороне Google и возврат картинки. Изменение графиков в реальном времени | ||||
Впечатление | Большая функциональность. В iOSпроблемы у справлением скролов | Проработанный, развивающийся корпоративный продукт. Но есть баги с прорисовкой в IE 6. Быстро работает. | Очень много документации. Настораживает переменчивость в политике Google | Поддерживается одним разработчиком | Можно использовать для вывода без разбиения по периодам | Сомнительный |
Функционал
amCharts
Highcharts
|
amCharts
Highstock
|
amCharts
сводная
|
Highcharts
сводная
|
Highcharts
JavaScript Charts |
Highcharts
JavaScript Stock Chart |
|
Линия с кнопками временных периодов |
-
|
+
|
+
|
+
|
-
|
+
|
Линия со строкой временного периода |
+
|
+
|
+
|
+
|
+
|
+
|
Несколько линейных графиков с выводом инф в одном всплывающем окне |
+
|
-
|
+
|
+
|
+
|
+
|
Диаграмма пирог |
+
|
-
|
+
|
+
|
+
|
-
|
Диаграмма 3Д пирог |
+
|
-
|
+
|
-
|
-
|
-
|
Диаграмма столбцы вертикальные / горизонтальные |
+
|
-?
|
+
|
+
|
+
|
+/-
|
Диаграмма пирог и столбец с углублением |
-
|
-
|
-
|
-/+
|
-/+
|
-
|
Совмещение диаграмм |
+
|
-?
|
+
|
+
|
+
|
-
|
Масштабирование по х, у |
+
|
-
|
+
|
+
|
+
|
+
|
Вывод произвольных точек с описанием |
+
|
+
|
+
|
+
|
+
|
+?
|
Диаграмма пузырьками |
+
|
-
|
+
|
-
|
-
|
-
|
Скорость генерации графика
Браузер
|
amCharts
line (ms)
|
amCharts
column (ms)
|
Highcharts
line (ms)
|
Highcharts
column (ms)
|
firefox | 438.537, 91553 вызовов | 101.633, 4398 вызовов | 1.27, 47 вызовов | 222.974, 30136 вызовов |
chrome | 349 | 78 | 1 | 131 |
IE9 | 2539 | 640 | 1 | 5 |
IE8 | 1689 | 415 | 1 | 286 |
IE7 | 194059 | 330 | 10 | 630 |
IE6 | 235298 | 431 | 10 | 631 |
Opera 12 | 1785 | 472 | 1 | 550 |
Opera 11 | 3000 | 90 | 1 | 61 |
Android | 4370 | 113 | 7 | 53 |
iOS | 5212 | 188 | 16 | 553 |