2017-09-25 16 views
0
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之前,我想刪除一些圖例。我想從傳說中刪除的數據存儲在一個名爲removeLegend的變量中。我想在從newdata追加數據之前刪除所有這些圖例。任何幫助,將不勝感激。謝謝如何在D3中刪除特殊的圖例

+1

請在您的代碼中添加括號。現在你有一個萬億語法錯誤。 –

+0

對不起,這是一個咖啡腳本。謝謝 – keto

回答

0

圓括號在哪裏?

您只需要按照選擇綁定計劃:更新,進入和退出。

更新:數據綁定和比較
輸入:如果有更多的數據比圖例項創建新項目
退出:如果有比傳說中的項目更少的數據,然後刪除舊的項目(這正是你想)。

This是Mike Bostock的詳細教程。