在Crossfilter / DC.js中加载CSV和创建过滤器

CSV loading and filter creating in Crossfilter / DC.js

本文关键字:CSV 创建 过滤器 加载 Crossfilter DC js      更新时间:2023-09-26

这里是制图新手。我有一个CSV文件,我想在d3中可视化使用交叉过滤器(dc.js)。

我似乎无法让饼图。group()正确工作,我认为这可能与在CSV中阅读或我只是对交叉过滤分组命令不够了解有关。

 function initDc(data) {
     ndx = crossfilter(data);
     all = ndx.groupAll();
     var chart = dc.pieChart("#summary");
     var region = ndx.dimension(function (d){return d['REGION_NAME'];});
    var conversion =  region.group().reduceSum(function(d) { return +d.TreatProd1;});
  chart
      .width(568)
      .height(580)
   // .slicesCap(4)
      .innerRadius(10)
      .dimension(region)
      .group(conversion) // by default, pie charts will use group.key as the    label
      .renderLabel(true)
     .label(function (d) {
      console.log('label');
      console.log(d);
       return d.key.toUpperCase();
      });
    chart.render();
 }

所以日志似乎返回'object'而不是实际的地区名称这里是样本数据

     REGION_NAME,TreatProd1
     Dublin,0

和我的read data函数

$(document).ready(function() {
    d3.csv("data/sample_data001.csv", function (data) {
        //d3.csv("data/sample_datav002.csv", function (data) {
            loadVizData(data);
        //}); 
    });
});

如果你的数据只有这一行:

REGION_NAME,TreatProd1
Dublin,0

则饼没有显示(sum为0)。

我已经尝试了更多的数据:

REGION_NAME,TreatProd1
Dublin,1
Dublin2,2
Dublin3,3

饼图显示正确。

这是活塞:http://plnkr.co/edit/R4tDrG8kRmFKHUEzK1QT?p=preview