我的 JSON 看起来像这样(为简洁起见,我不包括一些额外的记录)
[{"name":"Jim","category":"TechSupport","month":"8",year:"2012","Date":"2012-08-01T04:00:00.000Z", "TechSupport":2,"Management":0,"Sales":0},
{"name":"Jim","category":"Management","month":"8",year:"2012","Date":"2012-08-01T04:00:00.000Z", "TechSupport":0,"Management":3,"Sales":0}]
我的堆栈看起来像这样
var stack = d3.stack().keys(["TechSupport", "Management", "Sales"])
var series = stack(data)
我的堆栈结果看起来像[[0,2],[0,0]],[[2,2],[3,3]],[[1,1],[3,3]]
我在时间刻度上显示条形图的代码如下所示
var groups = mainChart.selectAll("g")
.data(series)
.append("g")
groups.selectAll("rect")
.attr("id","bar")
.attr("fill", function(d){return colors(d.data.category)})
.attr("x", function(d){return xScale(d.data.Date);}}
.attr("y", function(d){return yScale(d[1]);})
.attr("width", 20)
.attr("height" return yScale(d[0]) - yScale(d[1])})
我可以让所有内容正确地沿时间线显示,除非我有日期相同的项目,这些项目没有堆叠,我不知道为什么?