D3.js 如何构建响应滑块的太阳爆发图

D3.js 如何构建响应滑块的太阳爆发图,d3.js,D3.js,我正在尝试用一个交互式滑块构建一个sunburst图表。更具体地说,我希望基于日期的滑块能够根据与这些切片相关联的日期在阳光中显示和消失切片 我已经创建了slider和sunburst,但无法让它们一起工作 我相信问题在于'updateData'函数,它将滑块选择的日期与每个数据点关联的日期进行比较。更具体地说,获取切片日期的语法似乎不正确,因为console.log()是一个“null”值 我尝试过的事情: 为了检查语法,我将d.data.Cattime替换为d.data.id。后者将数据集

我正在尝试用一个交互式滑块构建一个sunburst图表。更具体地说,我希望基于日期的滑块能够根据与这些切片相关联的日期在阳光中显示和消失切片

我已经创建了slider和sunburst,但无法让它们一起工作

我相信问题在于'updateData'函数,它将滑块选择的日期与每个数据点关联的日期进行比较。更具体地说,获取切片日期的语法似乎不正确,因为console.log()是一个“null”值

我尝试过的事情:

为了检查语法,我将
d.data.Cattime
替换为
d.data.id
。后者将数据集信息记录到控制台,表明语法正确。奇怪的是,这不适用于d.data.parentId

我想问题可能是Cattime标题下的项目没有表示为日期。但是这个代码,
console.log(parseDate(数据[1].Cattime))表示这是一个日期


如有任何建议,我们将不胜感激

您应该比较return语句中的两个日期对象

svg.selectAll(".node").style("fill", function(d) {
   return new Date(((d.data.data.Cattime))) > new Date(h) ? "red" : "black";
}
此外,最初将路径的填充颜色设置为样式属性,但在更新函数中,将其设置为属性

显然,稍后将其设置为属性时,其值不会更改。所以,要么将更新函数更改为样式,要么将初始化更改为属性


它工作得很好-感谢您解决了这个问题。