没办法,我可以看到使用nvd3
提供的功能,所以我只是用碱d3
破解它:
setTimeout(function(){
var area = d3.svg.area()
.x(function(d) { return chart.xScale()(d.x); })
.y0(0)
.y1(function(d) { return chart.yScale()(d.y); });
var t = d3.select(".nv-series-2"),
d = t.datum().values;
t.append("path")
.attr("d", area(d))
.style("fill", "steelblue");
}, 10);
更新小提琴here。
EDITS征求意见
这个怎么样疯狂:
var area = d3.svg.area()
.x(function(d) {
return chart.xScale()(d.x);
})
.y0(0)
.y1(function(d) {
return chart.yScale()(d.y);
});
function addArea() {
setTimeout(function() {
d3.selectAll("#cust-fill").remove();
d3.selectAll('.nv-group')
.each(function(d) {
if (d.key === "Another sine wave") {
var t = d3.select(this),
d = t.datum().values;
t.append("path")
.attr("id", "cust-fill")
.attr("d", area(d))
.style("fill", d.color)
.style("opacity", ".3");
}
})
}, 100);
}
nv.dispatch.render_end = addArea;
chart.dispatch.stateChange = addArea;
更新fiddle。
它首先起作用,但是如果您选择并取消选择某些系列,则停止工作。有一些解决方法吗? – LeoGardel
@LeoGardel,参见上面的编辑。 – Mark
哇!它几乎完美地工作。我打算使用它,谢谢! – LeoGardel