我做了 this (SOLVED) 图表,我不知道如何更新 clipPath。 我已经注释掉了
y.domain(d3.extent(data, function(d) { return d[city]; }));
在 change 函数中,因为它没有更新 yAxis 旁边的 clipPath,我尝试将一个类分配给 clipPath 并更新 change 函数中的 y 和 height 属性,但似乎没有任何效果。
如果有人知道我做错了什么或为什么无法更新 clipPath,将不胜感激。
最佳答案
您设置了新域,但您还需要根据域更新那些东西(剪辑路径和区域的 y0):
y.domain(d3.extent(data, function(d) { return d[city]; })); // fix clipPath
svg.select('#clip-below>rect')
.attr("y", y(1))
.attr("height", height - y(1));
svg.select('#clip-above>rect')
.attr("height", y(1));
area.y0(y(1));
这是更新的 bl.ocks .
关于javascript - 在 d3js 中更新 clipPath 和动态 yaxis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42342496/