svgData = svg.select('g.data').selectAll('g.datum').data data, (d)-> d.key
newData = svgData.enter()
.append 'g'
.classed 'datum', true
legends = newData.append 'g'
.classed 'legend-entry', true
.attr 'opacity', 1
.on 'click', hidden.toggle
legends.append 'circle'
.attr 'r', 2
.attr 'cx', 1
.attr 'stroke-width', 1
.attr 'fill', (d)-> scales.color(d.key)
.attr 'stroke', (d)-> scales.color(d.key)
legends.append 'text'
.attr 'x', 5
.attr 'y', 2.5
.attr 'font-size', 7
.text (d)-> d.key
legends = svg.selectAll('g.legend-entry') #separate selection to get both old and new for positioning <br/>
这里svgData是出现在图例上的旧数据,newData是我要附加到图例的数据。在附加newData之前,我想删除一些图例。我想从图例中删除的数据存储在变量say removeLegend中。我想在从newdata追加数据之前删除所有这些图例。任何帮助,将不胜感激。感谢
答案 0 :(得分:0)
括号在哪里?
您只需遵循选择绑定计划:更新,进入和退出。
更新:绑定数据并比较
输入:如果有比图例项更多的数据则创建新项目
退出:如果数据少于图例项,则删除旧项(这正是您想要的)。
{{3}}是Mike Bostock的详细教程。