ここに私の仕事はありませんhttps://jsfiddle.net/dibyendu/wn6awvbe/です。今この棒グラフはsingle value
のためにうまく働いていて、私の要件はそれをgroup bar chart
にすることです。d3.jsグループ棒グラフが動作しない
これを最初のステップとして行うには、すべての値のmin
とmax
に基づいてx軸の範囲を作成する必要があります。私はこれをうまくやり遂げることができます。
第2に、group
を作成し、group
に個別のgroup bars
を追加しようとしました。この部分は私がクラックすることはできません。ここで
var combos = svg.selectAll("g").data(data)
.enter()
.append("g")
.attr({width: 2 * width})
.attr('height',y.rangeBand()+10)
;
combos.selectAll(".bar1")
.append("rect")
.attr("class", function(d) { return "bar bar--" + (d.value < 0 ? "negative" : "positive"); })
.attr("x", function(d) { return x(Math.min(0, d.value)); })
.attr("y", function(d) { return y(d.name); })
.attr("width", function(d) { return Math.abs(x(d.value) - x(0)); })
.attr("height", y.rangeBand());
combos.selectAll(".bar2")
.append("rect")
.attr("class", function(d) { return "bar bar--" + (d.value < 0 ? "negative" : "positive"); })
.attr("x", function(d) { return x(Math.min(0, d.value1)); })
.attr("y", function(d) { return y(d.name); })
.attr("width", function(d) { return Math.abs(x(d.value1) - x(0)); })
.attr("height", y.rangeBand());
を試してみましたが、何らかの理由でその作業をしていないものを私のコードです。私がここでやっている間違いは何ですか?アドバンスのおかげで、ありがとう。
私は1つの間違いを犯し、https://jsfiddle.net/dibyendu/wn6awvbe/1/でフィディルドを更新しましたが、バーは重なっています。 – curiousguy