Відповіді:
Зростає кількість відкритих комерційних та комерційних рішень для чистого діаграми JavaScript, для якого не потрібен Flash. У цій відповіді я представлю лише варіанти з відкритим кодом.
Є 2 основні класи JavaScript-рішень для графіки, які не потребують Flash:
Є плюси і мінуси обох підходів, але для бібліотеки графіків я рекомендував би пізніше, оскільки він добре інтегрований з DOM, що дозволяє маніпулювати елементами діаграм з DOM, а головне встановлювати події DOM. На відміну від цього, бібліотеки графіків Canvas повинні винаходити колесо DOM для управління подіями. Тому, якщо ви не збираєтеся створювати статичні графіки без обробки подій, рішення SVG / VML повинні бути кращими.
Для рішень SVG / VML існує багато варіантів, включаючи:
Рафаель - це дуже активна, доглянута та зріла графічна бібліотека з відкритим кодом з дуже гарною підтримкою крос-браузера, включаючи IE 6 - 8, Firefox, Opera, Safari, Chrome та Konqueror. Рафаель не залежить від будь-якого сценарію JavaScript, тому його можна використовувати з прототипом, jQuery, Dojo, Mootools тощо ...
Існує ряд бібліотек графіків на основі Рафаеля, включаючи (але не обмежуючись ними):
Розкриття: Я розробник одного з вил Ico на github .
Якщо ви використовуєте jQuery, я вважаю flot дуже гарним - спробуйте приклади, щоб побачити, чи відповідають вони вашим потребам, але я виявив, що вони роблять більшу частину того, що мені потрібно для мого поточного проекту.
Крім того, ExtJS 4.0 представив чудовий набір діаграм - дуже потужний і призначений для роботи з живими даними.
Перевірте http://www.highcharts.com !
Highcharts - бібліотека графіків, написана в чистому JavaScript, що пропонує простий спосіб додавання інтерактивних діаграм на ваш веб-сайт або веб-додаток. В даний час Highcharts підтримує типи ліній, сплайну, площі, областей, колонки, смуги, пирога та діаграми розсіювання
Можливо, це не зовсім те, що ви шукаєте, але
Google Chart API досить крутий і простий у використанні.
Є ще одна бібліотека javascript на базі SVG. Він називається Protovis і походить від Stanford Visualization Group
Це також дозволяє робити приємну інтерактивну графіку та візуалізацію.
http://vis.stanford.edu/protovis/ex/
Хоча це лише для сучасних веб-браузерів
ОНОВЛЕННЯ: Команда protovis перейшла до іншої бібліотеки під назвою d3.js (Документи, керовані даними), як вони сказали:
"Команда Protovis зараз розробляє нову бібліотеку візуалізації, D3.js, з покращеною підтримкою анімації та взаємодії. D3 ґрунтується на багатьох концепціях Protovis"
Тепер нову бібліотеку можна знайти в:
http://mbostock.github.com/d3/
ОНОВЛЕННЯ 2:
"Рікшо" - це інструментарій JavaScript для створення інтерактивних графіків часових рядів. На основі d3.js, яка значно спрощує роботу з d3.js, хоча є трохи менш потужною.
Нещодавно я шукав бібліотеку графіків javascript, і я оцінив цілу купу, перш ніж остаточно зупинитися на jqplot, який дуже добре відповідає моїм вимогам. Як згадується у відповіді Жана Вінсента, ви дійсно обираєте рішення на основі полотна та на основі svg.
На мій погляд, основні плюси і мінуси полягали в наступному. Рішення на основі SVG, такі як Рафаель (і офшоу), чудові, якщо ви хочете створити високодинамічні / інтерактивні діаграми. Або якщо вимоги до графіків виходять за рамки норми (наприклад, ви хочете створити якусь гібридну діаграму або ви придумали нову візуалізацію, про яку ще ніхто не думав). Мінусом є крива навчання та кількість коду, який вам доведеться написати. За кілька хвилин ви не будете вибивати графіки, будьте готові вкласти деякий реальний час навчання, а потім написати непогано кількість коду, щоб створити порівняно просту діаграму.
Якщо ваші вимоги до графіків досить стандартні, наприклад, ви хочете отримати рядкові або смугові діаграми або, можливо, кругову діаграму чи дві, з обмеженою інтерактивністю, тоді варто переглянути рішення на основі полотна. Навряд чи буде крива навчання, ви зможете отримувати основні графіки протягом декількох хвилин, вам не потрібно буде писати багато коду, кілька рядків базового JavaScript / jquery - все, що вам потрібно. Звичайно, ви зможете створювати лише конкретні типи діаграм, які підтримує бібліотека, як правило, обмежуючись різними смаками ліній, барів, пирогів. Вибір інтерактивності буде вкрай обмеженим, тобто не існує для багатьох бібліотек там, хоча можливі деякі обмежені ефекти наведення, коли і з кращими.
Я пішов з JQplot, який є рішенням на основі полотна, оскільки мені справді потрібні були лише деякі стандартні типи діаграм. З моїх досліджень та розваг з різними варіантами я виявив, що він є досить повнофункціональним (якщо ви лише за стандартними діаграмами) та надзвичайно простий у використанні, тому рекомендую його, якщо ваші вимоги схожі.
Щоб підвести підсумки, прості та потрібні діаграми зараз, тоді перейдіть з JQplot. Складні / різні та не натиснуті на час, тоді йдіть з Рафаелем та друзями.
jqPlot чудовий. Якщо ваші вимоги є досить "нормальними" і ви просто хочете намалювати деякі діаграми, ви, ймовірно, переповнені кількістю варіантів js-графіків. Припустимо, що ви не хочете займатися годинами досліджень, просто зайдіть з jqPlot, оскільки це, мабуть, найкраща ставка. Він добре охоплює випадки використання більшості людей. Деякі з альтернатив спеціалізуються на певному типі діаграми або будуються з урахуванням певного випадку використання.
Як якусь пізню відповідь, спробуйте d3.js
http://mbostock.github.com/d3/
Це продовження протовісу.
Велика різниця flot полягає в кількості підтримуваних функцій.
Хоча флот може бути і простішим, d3.js, безумовно, є більш потужним.
Спробуйте PlotKit
Я б порекомендував gRaphaël для чистого діаграми JavaScript, а також чистої бібліотеки векторної графіки JavaScript ( Raphaël ).
Наразі gRaphaël підтримує Firefox 3.0+, Safari 3.0+, Opera 9.5+ та Internet Explorer 6.0+.
основні: http://www.filamentgroup.com/examples/charting_v2/index_2.php
добре виглядає: http://www.highcharts.com/
Інша - RGraph: діаграми Javascript та бібліотека графіків:
На основі полотна це швидко та є приблизно 20 різних типів діаграм. Це безкоштовно і для некомерційного використання!
Мій улюблений (флот) вже згадувався.
Але обов'язково досліджуйте Орто . Він відмінно підходить для діаграм дерев і часових рамків.
У бібліотеці додзо-графіків є велика активність, і що чудово, я використовую її всередині додатка AIR без проблем, досить класно! Дивіться, наприклад, там http://www.sitepen.com/blog/2008/05/27/dojo-charting-event-support-has-landed/
Перевірте API візуалізації Google , який є узагальненням більш простого API Chart
http://code.google.com/apis/visualization/documentation/gallery.html
Має дуже круті інтерактивні варіанти, включаючи карти, вимірювальні пристрої та графіки.
Ми щойно купили ліцензію TechOctave Charts Suite для нашого нового запуску. Я їх дуже рекомендую. Ліцензування просте. Графіки виглядають чудово! Почати це було легко і має потужний API для того, коли нам це потрібно. Мене вразило, наскільки чистий і розширюваний код. Дійсно задоволений нашим вибором.
Спробуйте тимчасову шкалу MIT, яку можна перетворити на графік - http://simile.mit.edu/timeline/
або остаточний, http://code.google.com/p/gchart/
Це не бібліотека Javascript, але це може бути підходящою альтернативою - ознайомтеся з діаграмами Google, де ви можете генерувати діаграми, передаючи дані запиту в їх веб-службу.
Погляньте на Блеф . Це порт JavaScript бібліотеки графіків Gruff для Ruby.
Протокол - це все, що вам потрібно
Sencha придбав Рафаеля, і тепер їхні графіки - це чистий javascript версії 4. Емприз і HighCharts, згадані вище, - мої два улюблені.
Для більш незвичайних діаграм: http://thejit.org/
Я можу порекомендувати ArcadiaCharts . Зовсім нова професійна бібліотека графіків для JavaScript та GWT. Працює у всіх браузерах без плагінів. Простий і швидкий у використанні: створює чудові діаграми з лише кількома рядками коду. Безкоштовно для некомерційного використання.
Fusion charts має нову бібліотеку javascript / jquery, яка виглядає перспективною.
У випадку, якщо вам потрібно, це лише гістограма. Я опублікував якийсь код, який я використовував у старому проекті. Хтось сказав мені, що реалізація VML зламана на останніх версіях IE, але SVG повинен працювати просто чудово. Можливо, повернуться до проекту та випустять декілька серверів, які у мене вже є, і, можливо, шар візуалізації WebGL. Там посилання: http://blog.conquex.com/?p=64
Напевно, не те, що шукає ОП, але оскільки це питання стало списком параметрів бібліотеки графіків JS: jQuery Sparklines - це дуже цікаво.
Ознайомтеся з полотном ZingChart HTML5, SVG, VML та Flash-діаграмами . Дуже потужна і сумісна бібліотека. Я в команді Цінг - згадайте нас на Twitter @zingchart або знімайте будь-які питання на support@zingchart.com.