dc.js + crossfilter:ScatterPlot

dc是基于d3的一個(gè)提供交叉過濾的原生js圖庫(kù),主要用于對(duì)高維數(shù)據(jù)進(jìn)行探索。

dc可以畫的圖包括餅圖peiChart、柱狀圖barChart、折線圖lineChart、數(shù)據(jù)表格dataTable、氣泡式圖表bubbleChart、綜合圖表(可以包含餅圖、)compositeChart、系列圖表(多折線圖)seriesChart、地圖geoChoroplethChart、行圖rowChart、散點(diǎn)圖scatterPlot

crossfilter的主要用來對(duì)數(shù)據(jù)進(jìn)行多維分析,用不同的Group By查詢實(shí)現(xiàn)“交叉過濾”

本次主要以scatterplot和barchart為例說明這兩個(gè)js庫(kù)的用法。

主要實(shí)現(xiàn)目標(biāo)如下圖所示:

scatterplot+barchart

相關(guān)代碼如下所示:

// 將rowchart綁定到id 為fruit的DOM元素上
 let fruitChart = dc.rowChart("#fruit");
// 將水果種類映射為相應(yīng)的顏色
 let fruitColors = d3.scale.ordinal().domain(["Orange", "Apple"]).range(["#f09200", "#4d6f39"]);

//調(diào)用crossfilter,以水果種類作為維度展示數(shù)據(jù),fruitGroup為相應(yīng)的數(shù)據(jù)
 let filter = crossfilter(data);
 let fruitDimension = filter.dimension((d) => { return d.Fruit });
 let fruitGroup = fruitDimension.group();

fruitChart
//圖基本屬性的設(shè)置
      .width(200)
      .height(200)
      .margins({ top: 10, right: 10, bottom: 30, left: 10 })
//圖數(shù)據(jù)綁定
      .dimension(fruitDimension)
      .group(fruitGroup)
      .colors(fruitColors)
//坐標(biāo)軸設(shè)置
      .elasticX(true)
      .gap(2)
      .xAxis().ticks(4);

dc.js官方說明網(wǎng)站鏈接

API查詢

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容