用d3.js或jfreechart在web上做圖表,哪個比較好,他們的區別在哪,哪個國內用的比較多?


都行吧,哪個順手用哪個~

d3 效果很炫,但是因為太炫了容易忽略了展示數據的本意。

jfreechart 個人覺得不太好看~

推薦兩個簡單易用效果好的:

輕量級的 Chart.js

http://www.chartjs.org/

百度的 ECharts

http://echarts.baidu.com/


本人是超級d3粉,如果你考慮涉足數據可視化,一定大大的安利d3.js!雖然上手起來需要些時間,但是一旦上手再也不會回頭啦~

完全不能同意 「d3太酷炫而忽略數據本身意義」 的說法。d3隻是一隻好用、靈活的筆,想畫什麼完全取決於你。Excel, chart.js之類就像個蘿蔔章,誰來用都一樣。當然學畫畫要比蓋個戳困難些,但一旦學會,什麼畫風都能駕馭。不能因為有幾個浮誇的畫家,就給這個畫筆差評啊。。。囧rz。。。

如果只是追求做傳統圖表,Excel,chart.js等可以滿足,也可以不用d3。如果想找一些比較新穎的圖片,又嫌d3.js太底層不願意自己寫的,可以推薦一個找例子的好地方 Search the Blocks。可以按圖表類型搜索,如:bar chart, donut chart。還可以按API,或自己喜歡的作者搜索。也可以在這個網站上在瀏覽器中直接fork一個block,很容易的實驗和修改。

d3.js的開源社區是非常活躍的,自己多看些例子,多摸摸代碼,很快就會發現d3的靈活度高的優勢的~

-----------------------------

註:block這個概念是d3.js的作者Mike Bostock創建的。http://bl.ocks.org/ 是一個自動和github gist連接,方便大家分享d3.js代碼和視覺效果的方式。有興趣的同學可以了解一下。


只是想要excel等級的chart的話 別用d3 那個是給你從底層開始弄酷炫拽的。我也寫過幾個相當花哨的d3,但是對於圖表,實在是沒心情重新造輪子。對應的有基於d3二次開發的c3和nvd3等。個人偏向於c3的美術風格。

chartjs也不錯,ECharts看介紹很牛逼,不過試了下老出錯沒時間細查就放棄了,另外風格略懷舊。


d3.js比較底層,畫起來特別累,不過你可以試試dimple.js等以d3為基礎的語言,人生苦短(? ??_??)?


推薦閱讀:

前端如何處理動態url?
亞馬遜是如何反爬蟲的?
Python 爬蟲如何獲取 JS 生成的 URL 和網頁內容?
如何看待 AWS Lambda ?
有哪些方式可以實現跨域?

TAG:JavaScript | Unity遊戲引擎 | JavaWeb | 圖表工具 | D3js |