原文摘自:https://www.bbsmax.com/A/D854eq2vdE/
不管是哪個領(lǐng)域的開發(fā)端铛,都有機會用到圖表來做統(tǒng)計分析,以更直觀的表現(xiàn)形式來代替?zhèn)鹘y(tǒng)的文字疲眷。在以前禾蚕,圖表控件主要有使用程序代碼生成的靜態(tài)圖片,或者是使用flash實現(xiàn)的圖表控件狂丝。
在HTML5非常流行的當(dāng)下换淆,現(xiàn)代瀏覽器提供越來越強大的功能哗总,涌現(xiàn)出許多優(yōu)秀的圖表控件,它們基于Canvas/SVG技術(shù)來繪制圖表(低版本IE使用VML技術(shù))倍试,不再需要flash等額外的插件讯屈,提供豐富的表現(xiàn)形式以及交互方式,而且性能更加優(yōu)越县习。
對于不支持Canvas的瀏覽器(主要是針對IE)涮母,一般都是使用excanvas來適配,它會自動轉(zhuǎn)化成vml來兼容躁愿。
Rapha?l
一個小型的js庫叛本,但是功能非常強大,可以用它在頁面上繪制任意類型的圖形攘已,以及對圖形進行一些操作炮赦。
D3
以數(shù)據(jù)驅(qū)動的方式來構(gòu)建可視化圖表怜跑,但是操作起來并不簡單样勃,而且只支持現(xiàn)代瀏覽器(古董瀏覽器就白白吧)
Highcharts
純js實現(xiàn),兼容所有現(xiàn)代瀏覽器性芬,包括iPhone/iPad的移動瀏覽器峡眶,甚至包括古董的IE6。
主要使用SVG技術(shù)來渲染植锉,IE8及以下使用VML技術(shù)辫樱。內(nèi)置jQuery的支持,對于Mootools和PrototypeJS也提供適配俊庇。更詳細的兼容性請看:http://www.highcharts.com/documentation/compatibility
支持折線圖狮暑、樣條圖、面積圖辉饱、面積樣條圖搬男、柱形圖、條形圖彭沼、餅圖缔逛、散點圖、極坐標(biāo)圖姓惑、儀表圖褐奴、范圍圖表系列等圖表類型。
Chart.js
輕量級的js控件(4.5k)于毙,不依賴任何js庫如jQuery等敦冬,有較多的選項可以控制,良好的表現(xiàn)效果唯沮。
主要提供折線圖匪补、條形圖伞辛、雷達圖、餅圖夯缺、極坐標(biāo)圖蚤氏、圓環(huán)圖。
gRapha?l
基于raphaeljs創(chuàng)建折線圖踊兜、條形圖竿滨、柱狀圖、餅狀圖等捏境,兼容所有主流瀏覽器于游。
RGraph
基于HTML5 Canvas,支持超過20種不同類型的圖表:條形垫言、現(xiàn)狀贰剥、餅圖、儀表圖筷频,用于計劃管理的甘特圖蚌成、漏斗圖、瀑布圖等凛捏。
morris.js
主頁:http://www.oesmith.co.uk/morris.js/
基于jQuery和Raphaeljs担忧,支持折線圖、柱狀圖坯癣、面積圖瓶盛、圓環(huán)圖等。
xCharts
主頁:http://tenxer.github.io/xcharts/
基于D3的圖表示罗,支持折線圖惩猫、柱狀圖淋淀、時序圖等师痕。
dhtmlxChart
主頁:http://dhtmlx.com/docs/products/dhtmlxChart
跨瀏覽器的HTML5圖表,支持折線圖逐虚、柱狀圖禽额、面積圖锯厢、餅圖等,支持XML/JSON等格式的數(shù)據(jù)源脯倒。此外实辑,還有dhtmlxGantt專門用于顯示甘特圖。
GoJS
使用canvas藻丢,用于創(chuàng)建交互式圖表(主要是在網(wǎng)頁中連接各種元素)剪撬,功能相當(dāng)強大。
jsPlumb
用于在網(wǎng)頁中連接UI元素悠反,支持主流瀏覽器残黑。
InfoVis
主頁:http://philogb.github.io/jit/
用于創(chuàng)建各種交互式圖表馍佑,如面積圖、條形圖和餅圖梨水,但主要是用于創(chuàng)建一些圖形拭荤,并對他們進行連接。
Flot
基于jQuery的圖表庫疫诽,支持折線圖舅世、柱形圖、時序圖等奇徒,并可以通過插件擴展不同的圖表類型雏亚。
Cubism.js
主頁:http://square.github.io/cubism/
D3的插件,用于顯示時序圖摩钙。
peity
主頁:http://benpickles.github.io/peity/
jQuery插件罢低,生成迷你的折線圖、餅圖胖笛、條形圖网持、時序圖等,使用非常靈活匀钧。
jQuery Sparklines
jQuery插件翎碑,用于生成迷你圖表如折線圖谬返、柱狀圖等之斯。
Timeline
主頁:http://almende.github.io/chap-links-library/timeline.html
交互式的時間軸圖表,可以自由移動遣铝、拖動佑刷、放大以及在時間軸中編輯。
Smoothie Charts
迷你的時序圖
jQuery.Gantt
主頁:https://github.com/thegrubbsian/jquery.ganttView
基于jQuery的甘特圖插件酿炸,支持編輯瘫絮、縮放等。
jQuery.ganttView
主頁:https://github.com/thegrubbsian/jquery.ganttView
基于jQuery的甘特圖插件填硕,支持拖拽以及調(diào)整大小麦萤。
JointJS
用于創(chuàng)建各種圖表并對它們進行連接,支持所有現(xiàn)代標(biāo)準瀏覽器扁眯,但是對古董瀏覽器支持不太好(ie9-)壮莹。
arbor.js
用于創(chuàng)建動態(tài)的連接圖,在IE下無法工作姻檀。