真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

DataGear如何自定義數(shù)據(jù)可視化圖表

這篇文章主要介紹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)的圖表類型為 自定義 的

圖表元素添加dg-chart-renderer屬性(圖表渲染器),并實現(xiàn)其邏輯即可;自定義圖表插件則稍復(fù)雜些,需要編寫單獨的插件包,并上傳至系統(tǒng),之后則可在整個系統(tǒng)內(nèi)復(fù)用。

本文主要講解自定義圖表實現(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)容如下:




...

//自定義圖表渲染器
var myChartRenderer=
{

};



  

下面需要做的是實現(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ù)集信息(由

圖表元素添加dg-chart-widget屬性指定),在本例中,它的基本結(jié)構(gòu)如下所示:

{
  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ù)了:




...

//自定義圖表渲染器
var myChartRenderer=
{
  render: function(chart)
  {
    var chartDataSet = chart.chartDataSets[0];
    var dataSet = chartDataSet.dataSet;
    
    //圖表標(biāo)題:"各月份銷售額圖表"
    var title = chart.nameNonNull();
    //圖表X軸標(biāo)簽:"月份"
    var xAxisName = chart.dataSetPropertyLabel(dataSet.properties[0]);
    //圖表Y軸標(biāo)簽:"銷售額"
    var yAxisName = chart.dataSetPropertyLabel(dataSet.properties[1]);
    //圖例名、系列名:"各月份銷售額"
    var seriesName = chart.chartDataSetName(chartDataSet);
    
    var options =
    {
        title: { text: title },
        legend: { data: [ seriesName ] },
        tooltip: { trigger: "axis" },
        xAxis: { name: xAxisName, type: "category", data: [] },
        yAxis: { name: yAxisName, type: "value" },
        series:
        [{
            name: seriesName,
            type: "line",
            data: []
        }]
    };
    
    //初始化ECharts
    chart.echartsInit(options);
  },
  
  update: function(chart, results)
  {
    var dataSet = chart.chartDataSets[0].dataSet;
    var result = results[0];
	
    //X軸刻度:[ "1月", "2月", ... ]
    var xAxisData = chart.resultRowArrays(result, dataSet.properties[0]);
    //折線數(shù)據(jù):[ {name:"1月", value: 11}, {name:"2月", value: 41}, ... ]
    var seriesData = chart.resultNameValueObjects(result, dataSet.properties[0], dataSet.properties[1]);
    
    var options = { xAxis: { data: xAxisData }, series: [ { data: seriesData } ] };
    
    //更新圖表數(shù)據(jù)
    chart.echartsOptions(options);
  }
};



  

自定義圖表完成!效果如下圖所示:

DataGear如何自定義數(shù)據(jù)可視化圖表

以上是“DataGear如何自定義數(shù)據(jù)可視化圖表”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站標(biāo)題:DataGear如何自定義數(shù)據(jù)可視化圖表
鏈接分享:http://weahome.cn/article/jhjhjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部