d3直方图和条形图数据

时间:2016-05-29 14:18:55

标签: javascript d3.js

我目前正在创建一个从d3直方图中获取数据的条形图。

我创建了这样的直方图:

var binningThresholds = d3.range(getMinValue(rows, 'Model year'), getMaxValue(rows, 'Model year') + 2)

var histogram = d3.layout.histogram()
    .value(getModelYear)
    .bins(binningThresholds)
    (rows);

我从csv输入中获取行。我已经用输入做了很多东西,所以工作正常。

直方图现在是一个对象数组的数组。

当我现在想要使用此histogram并为数组中的每个索引添加一个条形图时,不会显示任何错误,并且d3不会附加任何grecttext标记到DOM。

var histogramBars = histogramSvg.selectAll('g')
    .data(histogram)
    .enter()
    .append('g');

histogramBars.append('rect');

histogramBars.append('text')
    .text(function(d) {
        return d.length;
    })

我真的不知道为什么,有人看到错误吗?

1 个答案:

答案 0 :(得分:2)

不要使用.selectAll('g').data...,我的猜测是您的可视化中还有其他g个元素,而您正在选择您不想要的内容。而是做类似的事情:

var histogramBars = histogramSvg.selectAll('.myUniqueClass')
  .data(histogram)
  .enter()
  .append('g')
  .attr('class', 'myUniqueClass');