2

私はプログラミングとD3が非常に新しく、基本的な問題を抱えています(と思います)が、解決策が見つかりませんでした。
私は、まとめて議場 (議会) を表す円のグループを作成しました。
ここで、さまざまなデータセットに応じて円の色を変更したいと思います。
さまざまなクラスまたはスタイルを適用しようとしましたが、適切な数の円を選択できませんでした。
これがコードです。

svg.selectAll("g")
    .data(grupos)
    .enter().append("g")
    .attr("transform", function (d,i) { return "translate(400,380) rotate(" + -1* (i * 5) + ")";})
    .selectAll("circle")
    .data(circulos)
    .enter().append("circle")
    .attr("cy", 0)
    .attr("cx", function (d,i) {return (i+3) * 20;})

    //change the size of circles gradually
    .attr("r", function (d,i) {return (Math.pow((i+1),1/3)*2);}); 

プロジェクトを表示するには

http://jsfiddle.net/ploscri/JrRdc/

誰か助けてくれませんか?

4

1 に答える 1

2

円の半分を青色にするには:

svg.selectAll("circle")
   .attr("fill", function(d, i){ return i < 190 ? 'blue' : 'red'; })

異なる投票総数、男性対女性の数、または別の比率を表示しようとしているだけの場合は、190 を変更してください。

より複雑な方法で異なるデータセットに基づいて円の色を変更するには、データセットを組み合わせて、各エントリが単一の立法者を表すオブジェクトの配列にすることをお勧めします。そのデータをサークルにバインドすると、議員のプロパティに基づいてサークルのサイズ、位置、色を簡単に調整できます。

于 2013-07-17T15:47:58.547 に答える