譯文來源:http://www.sitepoint.com/15-best-javascript-charting-libraries/javascript
咱們沒法想像一個沒有圖表的Dashboard會是什麼樣。圖表能夠對數據進行直觀有效的展現。不只如此,圖表的巧妙應用還能夠提高網站的總體視覺效果。java
本文將介紹一些很是好用的製做圖表的JavaScript庫。這些庫可以幫助你完成你將來項目中的漂亮的、可定製化的圖和表。canvas
文中介紹的庫大可能是免費的,固然也有一些庫會提供功能更增強大的付費版。瀏覽器
1. D3.js —— 數據驅動型動畫
今天,當咱們想到要製做圖表時,D3將是腦海中出現的第一個名字。做爲一個開源的庫,D3仍是提供不少其餘現有庫所沒有的強大功能。「進入和離開」的功能,良好的漸變和語法與jQuery與Prototype類似,這些特性都是D3被推崇爲最佳製做圖表的庫的緣由。使用D3製做的圖表會被轉化爲HTML、SVG或CSS的代碼。網站
與其餘庫不一樣的是,D3不能與包含任何在box外預先生成的圖表。固然,想要了解更多相似的屬性,你能夠瀏覽一下已使用D3的項目。插件
D3對較老瀏覽器的支持狀況不容樂觀,例如IE8。你可使用aight plugin等插件來應對兼容性問題。圖片
應用D3的網站包括NYTimes,Uber和Weather.com。ip
2. Google Charts開發
Google Charts 是一款很容易使用的庫。它提供了多種預先製做的圖,包括面積圖、條形圖、日期圖、餅狀圖和地理圖等。
Google Charts也包含了不少的定製化選項來對圖形進行修改。圖表會被轉化爲HTML 5/SVG的代碼來解決跨瀏覽器的跨平臺的問題。例如IPhones,IPads和Andriod。它還可以將圖表轉化爲VML來兼容老版本的IE瀏覽器。
3. Chart.js
ChartJs提供了扁平化的圖表,使用HTML 的canvas來進行代碼轉換,應用ployfill來對IE7/8進行支持。
ChartJS默認是響應式的,在移動和平板設備中運行良好。它有六種不一樣樣式的圖表(),這使得它成爲了一段時間內最吸引人的開源庫。
4. Chartist.js
Chartist能夠提供美觀的響應式圖表。同ChartJS同樣,Chartist也是社區的人們沒法忍受高費用的JavaScript庫而製做的。它使用SVG來進行代碼轉化,能夠經過CSS3 媒介查詢和Sass來進行設置。值得注意的是,若是使用現代瀏覽器中的話,Chartist能夠用於製做酷炫的動畫。
5. n3-charts
如是你是一名AngularJs開發者,那麼你必定會感嘆於n3的易用和有趣。n3是構建是基於D3和AngularJs的。它使用指令的形式來提供不一樣樣式的圖表。
6. Ember Charts
Ember Charts是一個使用D3和Ember構建的開源庫。它提供多種圖形,使用簡便。代碼轉化由SVG完成。
7. Smoothie Charts
若是你正在處理流數據,那麼Smoothie Charts正適合你。它使用canvas來轉化代碼,是一個純JavaScript的代碼庫,併爲實時圖表提供了保持和顏色閃爍的功能。
8. Chartkick
Chartkick適用於Ruby的項目,提供了多種圖表圖形,使用SVG進行代碼轉化。
9. ZingChart
ZingChart用於快速構建靈活、可交互、響應迅速並可縮放的現代產品。它已被應用於許多項目中,例如Apple、Adobe、Boein個好Walmart。ZingChart使用Ajax、JSON和HTML 5來快速傳輸美觀的圖表。
ZingChart不只提供免費的試用版,還提供了不一樣價位的商用版來知足您的業務需求。
10. HighchartsJS
HighchartsJS是一款很是流行的庫。它爲圖表提供了許多的動畫功能,這些足以緊緊吸引那些顧客的目光。HighchartsJS也提供了不少種類的圖形。
HighchartsJS最大的有點之一在於它能夠兼容例如IE6這樣的老版本瀏覽器。對於現代瀏覽器,它使用SVG,對於老闆的瀏覽器,圖表則被轉化爲VML。
HighchartsJS提供了免費的我的試用版和商用付費版。
11. Fusioncharts
Fusioncharts是最悠久的製圖表庫之一,它發佈於2002年。圖表的代碼會被轉化HTML 5/SVG和VML來保證可移植性和兼容性。
與其餘不一樣的是,Fusioncharts提供了直接處理JSON和XML的能力。你還可使用PNG、JPG或PDF的格式來處處這些圖表。
Fusioncharts對老版本瀏覽器的兼容性十分良好。只這一點就成爲了它在衆多公司中流行的緣由。
你能夠帶着Fusioncharts的水印來無償使用它。若是想移除這個水印則須要購買付費版。
12. Flot
Flot爲jQuery而創造,也是誕生很早的流行庫之一。
Flot支持線條圖、點狀圖、面積圖、條形圖或他們的任意組合。它也兼容老版本的瀏覽器,例如IE6和Firefox2。
Flot是徹底免費的,同時也會應顧客的要求提供付費的商業支持。
13. amChart
amChart無疑是這些庫中最漂亮的圖標庫。它將本身完美地分離爲3個獨立的庫——JavaScript Charts、Maps Charts(amMaps)和Stock Charts。
amMap是上述三者中做者作喜歡的部分。它提供了不少功能,包括地圖上的加載圖標或圖片,熱力圖,畫線,並可以在地圖上添加文字,縮放等。
amChart 使用SVG來轉化代碼,並只能在現代瀏覽器中運行。有它建立的圖表或許不會在IE9如下的瀏覽器中運行。
免費版的amChart會在每張圖上方留有一個指向其網站的連接。他的商用版的費用會比市場上其餘產品略高一些。
14. EJS Chart
EJS Chart宣城他們是準符合企業級的軟件。有它生成的圖表比一些歷史悠久的庫更加整潔和易讀。它也兼容IE6+和其餘版本的瀏覽器。
EJS同時有免費版和付費版。免費版會限制你在一頁中只能有一張圖,每張圖只能展現2組數據。
15.uvCharts
uvChart是一個開源的JavaScript製圖表庫。他宣稱有100種以上的定製化選擇和12種不一樣樣式的圖表。
uvChart使用D3來構建庫。它聲稱本身移除了D3全部晦澀的代碼並提供了建立標準圖表的簡單方法。uvChart使用SVG,HTML和CSS來進行代碼轉換。
結論:
如今該由你來選擇使用哪一個庫來構建你將來的應用了。
想要對圖表進行更多控制的開發者必然會傾向於選擇D3。
這些庫都在Stackoverflow的論壇上提供了很好地技術支持。