在我們制作網站或者應用的時候,如果想要更加形象地展示數據,那么報表就不可或缺了。
現在制作報表一般有以下4個工具可以用:jFreeChart、FusionChart、HighChart、EChart。
下面分別從不同角度去介紹這4個報表工具。
1、應用場景
在應用場景上,因為jFreeChart是一個封裝好的Jar包,所以支持在客戶端使用,也可以在網站上使用。
而FusionChart、HighChart、EChart都是用於J2EE平台(說白了就是做網站)的報表呈現,不能在客戶端使用。
因此如果你不是在網站上使用,而是想在自己的桌面應用程序上呈現報表,那么你可能只能選擇jFreeChart了。
2、實現技術
在實現技術上,jFreeChart產生的報表是通過Java的繪圖工具進行繪制的,而在網站頁面的時候,jFreeChart將其轉化成一張圖片。
FusionChart通過Flash呈現報表,HighChart、EChart則是通過的HTML + JS 技術實現的(至於是不是使用HTML5技術實現,這點暫不清楚。謝謝@fo0ol 指正 )。
3、資源豐富
在實現效果方面,基本上所有的報表工具都能實現基本的柱形圖、餅圖、曲線圖等基本的圖形。
但是如果要求更高的展現方式,比如通過地圖展示,那或許只能通過FusionChart和EChart了。而且雖然FusionChart在官網上有關於地圖的例子,但是不知為何打不開。
而EChart因為是百度的開源項目,所以地圖方面做得還不錯,效果可以上EChart官網上去看看(百度ECharts的地圖實例)。
4、實現效果
jFreeChart的實現效果相對其他三種來說,就不是特別好看。



FusionChart之前的圖形也跟jFreeChart是同樣的風格,但現在似乎已經有用HTML5去實現一些比較扁平化的效果了,所以看起來還不錯。



HighChart和EChart因為是用HTML5實現的,所以效果都和上圖的FusionChart差不多。
HighChart的效果圖 ↓



ECharts效果 ↓



5、是否收費
jFreeCharts使用免費(也是開源項目),但是API文檔和實例是要收費的(囧)。
FusionChart基本功能免費,但是有些功能也是需要收費的。
HighChart個人用是免費的,商用需要授權收費。
Echart是百度的一個開源項目,完全沒費。
6、特色功能
這里介紹的是ECharts中的地圖功能,ECharts可以通過地圖呈現更加震撼的效果,而這是其他三個報表根據所沒有的一個展示方式(FusionChart好像有地圖類型,但是打不開,所以我就忽略它啦~~)。
下面貼幾張ECharts的幾張效果圖,非常漂亮!






每個開發工具都有各自的特點,如果你是要在客戶端使用報表工具,那么jFreeChart就是你唯一的選擇了。而如果你在網站中使用報表工具,那么你可以選擇FusionChart、HighChart、ECharts。
但是考慮到商用收費的限制,我個人還是傾向於使用EChart。選擇ECharts不僅僅只是因為免費,而是因為Echarts的圖標類型更加全面,而且功能更加豐富。
你可以看看這個去了解一下Echarts:Why ECharts ?
四種工具各補充一個簡單的例子(MARK 另起一篇博文)。
