6

D3を学ぶのはいいことです。多くの例を読んだ後、私はそれを理解したと思います。私の最初のプロジェクトは、単純化のためにトランジションなしでカラーホイールを作成することです。しかし、それでも私の最初のプロジェクトには十分に単純ではないようです!プロジェクトゼロの場合、画面に何かを表示しようとしています。うまくいけば、私が書いたもの(そして親愛なる読み物が修正された)であり、例ではありません。

私は何を間違えましたか? http://jsfiddle.net/aGdMX/1/

var arc = d3.svg.arc()
    .innerRadius(40)
    .outerRadius(100)
    .startAngle(0)
    .endAngle(1)
    ;

var chart = d3.select("body").append("svg:svg")
    .attr("class", "chart")
    .attr("width", 420)
    .attr("height", 420).append("svg:g")
    .attr("transform", "translate(200,200)")
    ;

chart.selectAll("path")
    .data(data)
    .enter().append("svg:path")
    .attr("fill", function(d, i){
        return d3.rgb("black");
    })
    .attr("d", arc)
    ;

ありがとうございました

4

1 に答える 1

11

ここでの例には、データが定義されていません。svgを静的に描画するだけの場合は、selectAll()およびdata()バインディングをスキップします。

chart
    .append("svg:path")
    .attr("fill", function(d, i){
        return d3.rgb("black");
    })
    .attr("d", arc)
    ;

または、いくつかのデータを定義し、それを使用して図面を作成します。

http://jsfiddle.net/findango/aGdMX/2/

(さらに.attr("fill"...は...である必要があり.style("fill"ます)

于 2013-02-27T04:34:28.233 に答える