我有this (已解决)条形图,我想在数据从正数更新为负数时更新y-ticks的位置,反之亦然。
我尝试更新更新功能和过滤器中的.tick类
.filter(function(d, i) { return data[i]['value' + TEAM] < 0; });
和其他各种方法来更新位置,但我什么也得不回。
任何帮助将不胜感激。
答案 0 :(得分:0)
我自己找到了解决方案,问题是在过滤器功能中调整了滴答声
.filter(function(d, i) { return data[i]['value' + TEAM] < 0; });
仅调整了小于0的刻度,我的更新过滤器
.filter(function(d, i){ if (data[i]['value' + TEAM] > 0)
{return true;}else if (data[i]['value' + TEAM] < 0){return true;}});
确保包含所有刻度。
之后我只更新附加文字&amp;如此更新函数中的行
tickPosNeg.select("line").transition().duration(600)
.attr("x2",function(d, i){ if (data[i]['value' + TEAM] > 0)
{return -10;}else if (data[i]['value' + TEAM] < 0){return 10;}});
tickPosNeg.select("text").transition().duration(600)
.attr("x", function(d, i){ if (data[i]['value' + TEAM] > 0)
{return -25;}else if (data[i]['value' + TEAM] < 0){return 10;}});
如果有人有更好的解决方案,请随时发布您的答案!
这是更新的link