我目前正在创建一个从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不会附加任何g
,rect
或text
标记到DOM。
var histogramBars = histogramSvg.selectAll('g')
.data(histogram)
.enter()
.append('g');
histogramBars.append('rect');
histogramBars.append('text')
.text(function(d) {
return d.length;
})
我真的不知道为什么,有人看到错误吗?
答案 0 :(得分:2)
不要使用.selectAll('g').data...
,我的猜测是您的可视化中还有其他g
个元素,而您正在选择您不想要的内容。而是做类似的事情:
var histogramBars = histogramSvg.selectAll('.myUniqueClass')
.data(histogram)
.enter()
.append('g')
.attr('class', 'myUniqueClass');