2016-05-03 15 views
0

の色の特定の点、私はMike Bostockによる最近の蜂の可視化の作業に取り組んでいます。beeswarm d3js(v4 alpha)

D3js v.4では、1つの特定のポイントの色を変更する方法が不思議です。この場合、私は180カ国以上の国々で失業を話していますが、私は異なる色の「ブラジル」だけを選び出したいと思います。

ブラジルのドットを選んで別の色にするにはどうすればよいですか?最後の手段として、私はSVGを使用してそれを単一にすることができると思いますが、それは大きなコードと負担になります。私はD3にかなり新しいです。ここで

はコードです:ここではhttp://codepen.io/voltdatalab/pen/KzrNGo

var cell = g.append("g") 
    .attr("class", "cells") 
.selectAll("g").data(d3.voronoi() 
    .extent([[-margin.left, -margin.top], [width + margin.right, height + margin.top]]) 
    .x(function(d) { return d.x; }) 
    .y(function(d) { return d.y; }) 
    .polygons(data)).enter().append("g"); 

    cell.append("circle") 
    .attr("r", 5) 
    .attr("cx", function(d) { return d.data.x; }) 
    .attr("cy", function(d) { return d.data.y; }) 
    ; 

私が何をしたいです:

I did this manipulating the SVG, not D3 code

答えて

0

あなたがサークルに.attr("fill",function(d) { if(d.data.id === "Djibouti")return "red"; })を追加する必要があります。

cell.append("circle") 
     .attr("r", 5) 
     .attr("cx", function(d) { return d.data.x; }) 
     .attr("cy", function(d) { return d.data.y; }) 
     .attr("fill",function(d) { if(d.data.id === "Djibouti")return "red"; }) 
     ; 

BrazilDjiboutiを交換してください:以下のあなたが作る必要がある変更があります。 ここにはbinがあります。このようなことが必要なのかどうか教えてください。

+0

これは美しく機能します。本当にありがとうございます。 –

+0

ちょうど好奇心から、他のポイントにもいくつかの他の色を追加する方法はありますか?プロセスを繰り返すことで、1つのポイントを別のポイントに置き換えることができます。 –

+0

気にしない、私はちょうどそれを、基本的なjavascript、尋ねるための私の悪い考え出した。 (d.data.id === "MEDIANA")が "red"を返すならば、 "。 "})' –

関連する問題