var bar = diagram.selectAll(“。gcontainer”) .data(数据) .enter()。append(“ g”) .attr(“ class”,“ bars”) .attr(“ transform”,function(d){return“ translate(” + xscale(d [x_value]) +“,0)”; });
bar.selectAll("rect")
.data(function (d) { return keys.map(function (key) { return { key: key,
value: d[key] }; }); })
.enter().append("rect")
.attr("x", function (d) { return xscale1(d.key);})
.attr("y", function (d) { return yscale(d.value); })
.attr("width", xscale1.bandwidth())
.attr("height", function (d) { return height - yscale(d.value); })
.attr("fill", function (d) { return z(d.key); });
//这是绘制组图的第一个代码
var rects = bar.selectAll(".gcontainer")
.data(new_data)
rects.enter().append("g")
.attr("class","bars")
.attr("transform", function (d) { return "translate(" + xscale(d[x_value]) + ",0)"; });
rects.selectAll("rect")
.data(function (d) { return keys.map(function (key) { return { key: key, value: d[key] }; }); })
.enter().append("rect")
.attr("x", function (d) { return xscale1(d.key);})
.attr("y", function (d) { return yscale(d.value); })
.attr("width", xscale1.bandwidth())
.attr("height", function (d) { return height - yscale(d.value); })
.attr("fill", function (d) { return z(d.key); });
rects.exit().remove();
//此代码在某些情况下会重绘。
该图已添加但未删除。我想重绘groupbar图表,但是代码不起作用:(