Css 使用dc.js(d3.js)并尝试高亮显示0处的x轴

Css 使用dc.js(d3.js)并尝试高亮显示0处的x轴,css,d3.js,dc.js,Css,D3.js,Dc.js,我想突出显示值0处的X轴,以便在值变为负值时很容易看到。我正试图在渲染器中完成这项工作。我可以看出,当y1属性值等于y2属性值时,x轴处于0。所以在renderlet中,我尝试选择线条,得到y1,y2的值,然后当它们相等时,对线条应用一些东西,使其突出。有人这样做吗?有没有更简单的办法。我有元素和选择器的图片。我只是无法从renderlet中的选择器获取y1、y2属性 我不理解你的说法: 当y1属性值等于y2时,x轴为0 属性值 因为您看到的是水平网格线。y1总是等于y2,这是一条平坦的水平线

我想突出显示值0处的X轴,以便在值变为负值时很容易看到。我正试图在渲染器中完成这项工作。我可以看出,当y1属性值等于y2属性值时,x轴处于0。所以在renderlet中,我尝试选择线条,得到y1,y2的值,然后当它们相等时,对线条应用一些东西,使其突出。有人这样做吗?有没有更简单的办法。我有元素和选择器的图片。我只是无法从renderlet中的选择器获取y1、y2属性


我不理解你的说法:

当y1属性值等于y2时,x轴为0 属性值

因为您看到的是水平网格线。y1总是等于y2,这是一条平坦的水平线

也就是说,要找到他们:

d3.selectAll('.grid-line.horizontal line').each(function(d){
    var self = d3.select(this);
    if (self.attr('y1') === self.attr('y2')){
        console.log('do something special');
    }
});

如果要查找与x轴相对应的网格线,即线y=0,可以使用y比例来查找。使用@Mark的代码,但将
y1
chart.y()(0)
进行比较,而不是
y2
——正如他指出的,y1总是等于y2。