2013-07-24 7 views
5

.select()または.selectAll()のデータのサブセットを選択したいとします。例えば、私は、データセットをD3:自分のデータセットのサブセットを選択できません

を持っている:

var dataset = [4,5,6,7,9,56] 

このデータセットの各数値は、SVG <rect>にバインドされています

svg.selectAll("rect") 
    .data(dataset) 
    .enter() 
    .append("rect"); 

今私はのためのデータのサブセットのみを選択したいと思いますそれにいくつかのものを適用する(私の場合は黄色で着色)。

これは、すべての<rect>を着色するために動作します:

var allRect = myselection.selectAll("rect") 
    .attr("fill","rgb(255, 255, 0)"); 

しかし、私は唯一の<rect> sが5,7または対応する少なくとも<rect>間の数に対応し、例えば、選択したいと思います私のデータセットから特定の番号に。

私が試した:これらの

var specificRect = myselection.selectAll("rect")[5:9] 

var specificRect = myselection.selectAll("rect")[5] 

var specificRect = myselection.selectAll("rect")[2,3,4] 

var specificRect = myselection.selectAll("rect").data(dataset)[1] 

どれも機能していません。ご協力いただきありがとうございます。

+3

あなた自身の質問に回答を投稿し、それを受け入れることができます。 –

答えて

3

解決策は、「.filter」の使用でした。

var specificRect = myselection.selectAll("rect").data(dataset) 
.filter(function(d) { return (d >= 5 && d <= 9) }) 
関連する問題