ECharts圖表好不好用,Highcharts好用還是ECharts好用?
js圖表
一個很恰當的比喻:Highcharts 和 Echarts 就像是 Office 和 WPS 的關係。
不過這也是暫時的,相信Echarts會做得更好,誰說國產的東西比不過外國。我有3個項目用echarts, 不過都是基本圖表, 最近一個項目較為複雜, 圖也非常多, 另一個合伙人以前沒用過echarts, 我帶著他也開始用, 後來遇到一些問題, 比如指數chart, 後來他自己研究了倆禮拜都不行, 結果他看了看hightcharts, 一天就搞定了, 然後仔細研究研究highcharts, 說這個文檔太詳細了, 而且很人性化也比較全, echarts完全就是山寨, 我作為echarts的資深用戶, 看了看hightcharts, 我只能說一個字, md, 以KPI為導向的公司永遠也不會有發展, 垃圾玩意, 再也不用echarts了, 另外結合幾個百度的幾個半死不活的項目, 比如webuploader之類的, 就只能呵呵了; 其實別的不說, 高德地圖和百度地圖對開發者的友好程度, 開發過地圖應用的都會有了解, 完全倆級別, 你看百度的文檔很難上手, 不仔細研究根本不知道為什麼要這麼用這個東西, 所以說百度這公司的東西還是少用, 耽誤時間
2017.6月更新
----------------------------------------------------------
這裡看高票的沒有用, 沒有大規模使用的你永遠不知道一個東西好不好, 我們最近的項目(2016年底)是給某國字頭的一個物流中心搞的這個項目, 圖形化報表超級多, 演算法超級複雜, 曾一度不想繼續幹下去, 開始就是Echarts, 後來用highcharts重寫, 發現效率提高不少, 還有就是是文檔, 懂嗎? 能用一句話把複雜的事情說清楚, 那叫本事!!!
還有highchart是一個公司都是做這個的, 百度不是, 只是一個小團隊, IDEA 和 Eclipse 哪個好用大家有目共睹, 一個收費一個免費, 能收費的東西就是比免費的好, 如果做的不好, 這公司就倒閉了, 是有壓力的
最後, 如果你就是很多簡單的報表, 什麼登錄率啊, top排行啊, 那echarts也能勝任, 當你發現你有大量的交互是通過外部的按鈕來觸發chart內部的變化的時候, highchart就是你最好的選擇
看了不少回復都是2014,2015年的, echarts一直都在更新, 就目前看,我覺得echarts比得上hightchart了
highcharts是基於svg技術的,而echarts基於canvas,兩者技術基礎完全不一樣,各有特點。而後者是可以在瀏覽器實現3D圖形的,給個鏈接 Earth with sun light and universe ,這種效果highcharts是完全不可能做得到的。
echatrs個人覺得完全能比得過了。
首先,echatrs可以很完美的配合百度地圖的使用。(而且很簡單,只需要申請引用就可以了)
可視化篇:Echarts2.0引入百度地圖 - yycc - 博客頻道 - CSDN.NET————其次,種類太多,動態效果很好,喜歡的可以去看看。————所以,對於在國內的 我更推薦echarts(很多人吐槽文檔API不好看,我覺得 看不懂 你就先看官方實例啊。。。)討論關於Hcharts還是Echarts的使用
先看看我們一開始選擇的echarts的優點:
1、國產貨有語言優勢或區域優勢。
畢竟是中國製造,自己家做出來的,親和力高,比較適用於我們的思維,對於城市的地理坐標、城市代碼等都已經配置好了,需要的時候,直接調用,很方便。
2、免費,各類圖,各種形式,K線圖完全免費開源。
減少製作成本,也方便使用,(不用擔心以後會有什麼)當客戶選擇的時候,我們可以有更多的方案為他們準備。
3、對於處理大量的數據和3D繪圖:
基於canvas繪圖,所以3D繪圖方面佔據絕對的優勢。(可以結合百度地圖的使用,而且方便快捷。)
4、一個純Javascript的圖表庫:
可以流暢的運行在PC和移動設備上,兼容當前絕大部分瀏覽器(IE6/7/8/9/10/11,chrome,firefox,Safari等),底層依賴輕量級的Canvas類庫ZRender,提供直觀,生動,可交互。(使用了幾個瀏覽器,均沒發現什麼問題。)
5、支持和弦圖、力導布局圖、拖拽重計算、數據視圖、值域漫遊、大規模散點
6、支持動態類型切換(十分方便,以內置代碼,輕輕動動手指就可)
Hcharts的優點:
1、完整的實例演示,功能介紹和詳細的api文檔。
並不是說echarts就沒有,而是Hcharts確實更加詳細,實例更多,方便觀看,這點對我們初學者來說是十分必要的。(但是有些是英文的…也不是特別影響觀看)
2、基於svg,對於動態的增刪節點數據非常靈活,不需要重新繪圖
3、圖表展現出來也是極其的美觀簡約大氣
雖然說沒有echarts變現的圖表多,但是也有特色:什麼轉盤啊,什麼
儀錶盤等等。(echarts有 但是只有三個= =或者說 只有一種類型)
4、穩定的性能
畢竟是行業的領頭人物,穩定性高於echarts是肯定的(但是echarts也是從未停止過更新)
附圖:
(為什麼圖上不來。。。)
個人感覺:
對於國內來說(需要使用地圖的話),echarts的實用性絕對高於hcharts.(結合百度地圖簡直效果爆炸-、-LoT的我路過……)
Echarts自3.0出來後,也越做越好,完完全全的免費。現在覺得echarts確實不錯,千萬不要因為說我在用什麼,所以這個就更好,情懷是有的,但是還是要正面的比較,比如,echarts 的文檔做的確實不怎麼好,但是實例還有有的,還是有很多人在上傳做好的實例的。
再來展示幾張比較有代表性的圖:
如果不介意SVG的話,可以直接react/vue+d3。
react/vue用來布局;d3用來計算SVG元素的屬性。缺點是需要自己造一部分輪子,需要開發者對SVG有一些了解;優點是可以對付各種奇葩需求。echarts 文檔還是不太詳細
ECharts 的發展是廣度,而 HighCharts 是深度。工作上二者都使用過,做的是一個動態的 OHLC 類型圖表,比較了一圈最終選擇了 HighCharts,原因是 HighCharts 擁有更多專業的配置。
ECharts 在圖表類型上是有優勢的,覆蓋面很廣,你能想到的基本它都有提供 ,好像很多酷炫的監控大屏就用到了它。但 ECharts 的文檔依然不行,即便是升級到了版本 3,有一些配置項的說明還是模糊不清,fiddler 鏈接還有一些是 href="#",這導致了使用時要花一段時間去嘗試配置項,慢慢才能摸索出來。
eharts 用canvashigh charts 用svg
說Echarts好用的,大多數都是沒用來做過真正項目的。Echarts免費,畫面酷炫確實有一定的吸引力,有自己的優勢。但是我想說,Echarts確實做的不夠好,bug也多。
看官方的更新還是蠻頻繁的,應該會越來越好,但是根據目前的bug量,開發項目的角度,至少在2018年底之前,還是會比highchart差。
總結一下:
Highcharts:
優點: 1、文檔詳細(而且是中文,比中文文檔,都比Echarts詳細,所以和一些人說的剛好相反,higcharts反而中文文檔更好),
2、兼容性好,官方說兼容到IE6,實際我們只要兼容到IE8就基本滿足,
3、實例很詳細,依賴哪些js腳本,css都十分詳細。
缺點:商業收費,外國的。
Echarts:
優點:
1、免費,原生全中文。
2、開源,相對於其他開源的圖庫,文檔算是其中比較詳細的。
3、效果酷炫。
缺點:
1、文檔很多地方寫得很糟糕,
2、bug還是比較多,
3、對IE8及IE8(甚至IE9)及以下的兼容性非常差,經常報一大堆錯誤,
4、最好的說明是實例,但其實例頁面只有option內容,引用哪些js,和css不知道,下載/克隆按鈕點了沒反應(截至2017-11-14),是不是下載下來就能看到所有引用?
5、3.0有些地方向後不兼容2.0,在2.0中的一些配置在3.0中已經找不到了。
所以如果是開發商業項目的,或者項目時間比較緊的,需要快速出成果的,建議使用Highchart,如果商用,大概每台主機好像是收費800RMB多,具體可以電話諮詢。現在還有很多操作系統是WIN7, 上面的瀏覽器是IE8,用Echarts光兼容性調試估計就可以讓你崩潰。
如果作圖很多的話,算一下如果使用的設備不多,算下來版權費比一個人一兩個月的工資還低,那就繳費吧,用Echarts估計光調試兼容性就要花不少時間。當然圖少的話用Echarts就行。
如果有專研精神,有折騰的勁頭,有為開源做貢獻的精神的話,就用Echarts。
highcharts的實例界面:
HTML,SCC,JS,外部依賴等等都非常詳細,對學習,甚至是套用他們的實例都很有幫助。
Echarts:Echarts就要簡陋很多,依賴哪些js呀,css呀,HTML呀都沒有,意味著有些實例你不能很方便的在本地重現。因為你看到的代碼只是一部分。
肯定有人說去Gighub去看,說了有開源精神,折騰精神的可以,但是大多數人是沒有這個時間和精力的。
Echarts的bug很多,隨手就可以找到好幾個:
還有明明已經引入了Echarts.min.js 卻老是報Echarts未定義的,等等
還有上面chen yue說的很好,他說的他的同事有個功能要實現,看兩個星期文檔沒有弄明白Echarts怎麼實現,看Higcharts這個一下子就實現了,這個我深有感觸。下面的評論竟然有人嘲諷說研究兩個星期不會的是智商有問題,或嘲諷說中文有問題。
我想說的是Echarts的bug或者是兼容性,會導致你即使按官方文檔的做,照抄實例的一樣出不來。
比如:
timeline 這個,按照官網的說明,將設置orient: "vertical",就可以讓時間軸豎起來,實際我設置之後發現,樹立是豎立起來了,但是窩到了一小角落裡,而且刻度線不顯示,只顯示label。
(這裡的調試瀏覽器是HbuilderHBuilder 8.8.4.201709282021的內置瀏覽器)
默認沒有高度,要設置高度,timeline的說明中沒有這個,對於新手來說確實不友好,設置高度height:"50%",然後變成:不窩了,但是軸線依舊沒有顯示,以為是哪裡配置錯了,搞來很久還是不行。
然後就去看實例,拷貝實例的option進來,還是不行。然後想到是不是echart.min.js不同版本,就想著去下載實例的js,但是無從下手。
搞了很久實在搞不定就將就橫著用了。
直到某一天,orient: "vertical"的同時還用chrome高版本的打開,靠,終於看到那個軸了,標籤呢?不好意思,跑到圖的中間去了,要想能用還得繼續折騰。
這裡的瀏覽器是Google Chrome 62.0.3202.94(正式版本) (64 位)
還有用3.0的某一版本的echarts.min.js,按官方配置rotate,折騰好久,死活無法將下面的標籤立起來,無警告無報錯。
後來懷疑人生了,就到官網下了最新的js,立起來了!但是,但是,但是...之前沒問題的網頁紛紛出不了圖了,一按F12調試,蹦出那麼多錯誤,你說你死不死?!工程上你敢升級?為什麼說某版本,那是因為我不記得先前下的是3.0具體哪個版本的,在echarts.min.js裡面沒有看到版本信息,有人能告訴我在哪裡看嗎?echarts.min.js裡面的信息highcharts.js里的信息太晚了,先到這裡了。
所以說還是希望國產越來越好,但是不得不說Echarts還有很長的路要走,遠不如看上去那麼美好。畢竟圖庫是拿來用的,先把最基本的功能實現好兼容好,我覺得這樣才是最重要的。
更新1
作為前端展示,在移動端官網的效果
點擊右邊的杠杠杠higcharts點擊左邊的杠杠杠體驗真的很不一樣,你說哪個更好?echarts前途光明,任重道遠。highcharts收費,echarts免費,公司要是用highcharts而且由你而起應該還蠻貴的,highcharts專業一些,國外用的比較多啦,echarts呢,對於初學者是比較友好的,開源的總有開源的好處嗎,官網社區的案例還是蠻多的,見仁見智,不要一棒子打死啊。
echarts距離完爆highcharts指日可待(等到echarts有3d圖的時候)
樓上各位真的該update一下了,看commit就知道echarts飛速進步中。我發現hicharts的顯示速度比echarts略快,echarts有一段空白期、不知道是不是網速的關係
之前有個同事的項目讓我升級,當時使用2做的,我給升級到3,真的是有縫升級啊,坑很多,部分配製發生了變化,文檔寫的並不是很清楚,而且有的圖表沒有了,有個圖樣式變化了。結果本來說一下午搞定的事情,搞了好幾天把。總之,還是需要一個穩定的升級最好了。但是,是免費的,而且,圖表類型很多。就這一點,我相信你就會自己做出選擇了。
個人認為echarts還可以,符合國內行情
echarts更新迭代較快,比較活躍
實用主義出發選echarts,中文文檔,簡單。
echarts 分2 和3 ,個人認為2的文檔看起來比較清晰,3的話例子更多,有個gr,
我就說一個覺得很打臉的事,ECharts算是前端插件吧?百度這麼個巨頭公司出的有關前端的東西,網頁文檔居然不適應手機端訪問,真的超級尷尬。
大神們,怎麼寫 Highstock多表聯動? 在描述多點的時候(上萬),用echart比不上Highstock的,尤其5萬以上數據時。。。Highstock聯動怎木寫,求大神指路。。
推薦閱讀:
※echarts初始化失敗?
※echarts如何讓折線圖的每個折點都顯示數值?
※請問這種圖表是如何做出來的?
※Python plotly能否取代echarts或者其他繪圖工具?
TAG:圖表 | Highcharts | ECharts |