javascript - 在 Crossfilter/DC.js 中加载 CSV 并创建过滤器

标签 javascript d3.js dc.js crossfilter

在这里绘制新手图表。 我有一个 CSV 文件,我想使用 crossfilter (dc.js) 在 d3 中对其进行可视化。

我似乎无法让饼图 .group() 正常工作,我认为这可能与读取 CSV 有关,或者我只是对 crossfilter 分组命令了解不够。

 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();
 }

因此日志似乎返回“对象”而不是实际的区域名称,这里是示例数据

     REGION_NAME,TreatProd1
     Dublin,0

还有我的读取数据函数

$(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

那么饼图就没有任何内容可显示(总和为 0)。

我尝试过更多数据:

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

饼图正确显示。

这是骗子:http://plnkr.co/edit/R4tDrG8kRmFKHUEzK1QT?p=preview

关于javascript - 在 Crossfilter/DC.js 中加载 CSV 并创建过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32136679/

相关文章:

javascript - 如何在具有弹出页面的页面加载时注入(inject)内容脚本?

javascript - 如何制作一个 Google Chrome 小书签来填充 URL 中的某个位置?

d3.js - dc.js 删除 PIE 图表中单击的切片而不是灰显?

javascript - dc.js - 如何按唯一 ID 分组

javascript - dc.js - 基于单个 csv 文件中单独类别的多个折线图

javascript - 使用正则表达式和 javascript 将 HTTP url 重写为 HTTPS

javascript - 将 JSP 参数传递给 javascript 在 IE8 中不起作用!

javascript - 圆圈标签未显示在 d3 数据可视化中

javascript - 在D3中,如何有条件地禁用双击缩放?

javascript - Nivo 条形图轴标签重叠