這篇文章主要介紹DataGear如何自定義數(shù)據(jù)可視化圖表,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認(rèn)真做好每個細(xì)節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及履帶攪拌車等,在成都網(wǎng)站建設(shè)、成都全網(wǎng)營銷、WAP手機(jī)網(wǎng)站、VI設(shè)計、軟件開發(fā)等項目上具有豐富的設(shè)計經(jīng)驗。
DataGear內(nèi)置了很多常用的圖表(折線圖、柱狀圖、餅圖、散點圖、雷達(dá)圖、地圖等等),能滿足大部分?jǐn)?shù)據(jù)可視化需求,當(dāng)內(nèi)置圖表無法滿足時,則可以通過自定義圖表或插件的方式,實現(xiàn)特定業(yè)務(wù)的數(shù)據(jù)可視化需求。
自定義圖表實現(xiàn)起來簡單方便,只需為看板內(nèi)的圖表類型為 自定義 的
本文主要講解自定義圖表實現(xiàn)方式。
在開始自定義之前,需要了解的是,系統(tǒng)會為圖表、看板展示頁面自動引入Jquery(window.$)、ECharts(window.echarts)等JS庫(具體參考官網(wǎng)文檔內(nèi)置看板資源章節(jié)),可以在自定義圖表和插件中直接使用它們。
下面,以折線圖為例,介紹如何通過自定義圖表方式實現(xiàn)。
假設(shè)有如下各月份銷售額CSV數(shù)據(jù)集:
名稱:
各月份銷售額
數(shù)據(jù):
month sales 1月 11 2月 41 3月 9 4月 20 5月 15 6月 18
屬性(預(yù)覽后系統(tǒng)自動解析而得,展示名稱由用戶選填):
名稱 類型 展示名稱 month 字符串 月份 sales 數(shù)值 銷售額
假設(shè)有關(guān)聯(lián)上述數(shù)據(jù)集,圖表類型為 自定義 的圖表:
名稱 :各月份銷售額圖表 圖表類型 :自定義 數(shù)據(jù)集 :各月份銷售額
自定義圖表需要在看板內(nèi)編寫圖表渲染器實現(xiàn)代碼,因此,這里新建一個看板,并添加上述圖表,內(nèi)容如下:
...
下面需要做的是實現(xiàn) myChartRenderer 圖表渲染器邏輯,它應(yīng)至少實現(xiàn)如下兩個函數(shù)(異步渲染、事件處理需要實現(xiàn)更多函數(shù),具體參考官網(wǎng)文檔圖表渲染器章節(jié)):
{ //初始渲染圖表 //chart 圖表對象 render: function(chart){ ... }, //更新圖表數(shù)據(jù) //chart 圖表對象 //results 要更新的數(shù)據(jù)集結(jié)果對象數(shù)組 update: function(chart, results){ ... } }
在實現(xiàn)上述兩個函數(shù)之前,我們需要先了解一下兩個參數(shù) chart 和 results 的結(jié)構(gòu)。
chart 表示圖表對象,它封裝了要渲染圖表的基本信息、及其關(guān)聯(lián)的數(shù)據(jù)集信息(由
{ name: "各月份銷售額圖表", //圖表關(guān)聯(lián)的數(shù)據(jù)集信息,本例中只有一個 chartDataSets: [ { dataSet: { name: "各月份銷售額", properties: [ {name: "month", type: "STRING", label: "月份"}, {name: "sales", type: "NUMBER", label: "銷售額"} ] } } ], //圖表所處的div圖表元素ID,如果沒有定義,系統(tǒng)會隨機(jī)生成一個,并自動設(shè)置為div圖表元素的id屬性 elementId: "..." }
除了上述基本結(jié)構(gòu),chart 對象還定義了很多用于支持圖表渲染、數(shù)據(jù)處理、事件處理等輔助API(詳細(xì)參考官網(wǎng)文檔圖表對象章節(jié)),下面是幾個比較基本的API:
//獲取div圖表元素DOM對象 chart.element() //獲取div圖表元素的Jquery對象 chart.elementJquery() //將圖表初始化為ECharts圖表,并返回ECharts實例對象 chart.echartsInit(options) //獲取圖表的ECharts實例對象 chart.echartsInstance() //設(shè)置圖表的ECharts選項 chart.echartsOptions(options) //將圖表原始數(shù)據(jù)集數(shù)據(jù)轉(zhuǎn)換為名/值結(jié)構(gòu)的數(shù)據(jù) chart.resultNameValueObjects(result, nameProperty, valueProperty)
results 表示圖表關(guān)聯(lián)數(shù)據(jù)集的結(jié)果數(shù)據(jù),與上述 chart 對象的 chartDataSets 數(shù)組元素一一對應(yīng),在本例中,它的結(jié)構(gòu)如下所示:
[ { data: [ {month: "1月", sales: 11}, {month: "2月", sales: 41}, ... ] } ]
在了解 chart 、results 參數(shù)結(jié)構(gòu)后,就可以使用它們來實現(xiàn) myChartRenderer 的 render 和 update 函數(shù)了:
...
自定義圖表完成!效果如下圖所示:
以上是“DataGear如何自定義數(shù)據(jù)可視化圖表”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!