0

ドーナツチャートを作成しようとしています。円弧に固有のさまざまな色を追加するにはどうすればよいですか。たとえば、ステータス「1」の場合は赤色、ステータス「2」の場合は青色、ステータス「3」の場合は緑色などにします。

私は次のことを試みました、

var color = d3.scale.ordinal()
 .domain(["one","two","three","four","five"])
 .range(["#013ADF", "#ACFA58", "#DF3A01", "#6b486b", "#a05d56"]);


paths.enter().append("svg:path")
        .attr("stroke", "white")
        .attr("stroke-width", 0.5)
        .attr("fill", function(d, i) {console.log(color(d.name)); return color(d.name); })

最初は色をつかむことができました。ただし、ステータスカウントが0に減少すると、色がシャッフルされます。また、ステータスカウントを増やすと、特定の色を取り戻すことができませんでした...

いくつかの提案を手伝ってください...

4

1 に答える 1

3

enter()だけでなく、毎回色を更新することをお勧めします。

paths.enter().append("svg:path")
    .attr("stroke", "white")
    .attr("stroke-width", 0.5)

path.attr("fill", function(d, i) {console.log(color(d.name)); return color(d.name); })
于 2013-06-27T03:36:01.873 に答える