D3.js 使用多行、网格化图表导致问题

D3.js 使用多行、网格化图表导致问题,d3.js,linechart,brush,D3.js,Linechart,Brush,我的目标是用画笔绘制一个多线图,垂直网格线跟随变化的刻度线。我几乎到了我想去的地方,但仍然有一些荆棘在我身边。请参阅我的JSFIDLE: 现在我可以得到它,这样 x轴记号正确更改,直线消失,网格线不工作,y轴消失 或 x轴记号不变,线正常工作,网格线不变 您可以在我的代码底部的这两种行为之间切换: function brushed() { x_main.domain(brush.empty() ? x_mini.domain() : brush.extent()); // al

我的目标是用画笔绘制一个多线图,垂直网格线跟随变化的刻度线。我几乎到了我想去的地方,但仍然有一些荆棘在我身边。请参阅我的JSFIDLE:

现在我可以得到它,这样

x轴记号正确更改,直线消失,网格线不工作,y轴消失 或

x轴记号不变,线正常工作,网格线不变 您可以在我的代码底部的这两种行为之间切换:

function brushed() {
    x_main.domain(brush.empty() ? x_mini.domain() : brush.extent());

    // alternate between these two
    main.selectAll('path').attr('d', line);
    // main.selectAll('path').attr('d', function(d) { return line(d.values); });

    main.select('.x.axis').call(xAxis);
    update_vgrid(x_main);
}

以前有人处理过这些事情吗?谢谢你

如果我正确理解你的需求,这是在中实现的。不,这是纯D3,尽管你给出的示例正是我要做的。NVD3是建立在D3之上的库,所以它也是纯D3。