Я пытаюсь отфильтровать набор данных только для отображения меток для некоторых элементов выбора. Фильтр, показанный здесь, кажется, работает, за исключением того, что он создает тысячи пустых элементов, чего я, очевидно, хочу избежать. Это связано с тем, что фильтр появляется после добавления, но если я перемещаю фильтр над оператором append, он прерывается.
Что я делаю неправильно здесь
var labels = svg.selectAll("text.label")
.data(partition.nodes(bp.data.preparedData))
.enter()
.append("text")
.filter(function(d){return d.ci_type === 'type'})
.attr("class", "label")
.attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")"; })
.text(function(d, i) { return d.name } );