例如,有一个具有start
,end
和duration
(以小时为单位)属性的对象数组。
[{start: new Date(2013, 2, 4, 0),
end: new Date(2013, 2, 4, 8),
duration: 8},
{start: new Date(2013, 2, 4, 22),
end: new Date(2013, 2, 5, 2),
duration: 4},
{start: new Date(2013, 2, 5, 5),
end: new Date(2013, 2, 7, 5),
duration: 48}]
我想将它们可视化为以下内容(y
-小时,x
-日期):
我正在考虑创建额外的对象来填充这样的事件之间的空白
[{start: new Date(2013, 2, 4, 0),
end: new Date(2013, 2, 4, 8),
status: "busy"},
{start: new Date(2013, 2, 4, 8, 0, 1),
end: new Date(2013, 2, 4, 21, 59, 59),
status: "free"},
{start: new Date(2013, 2, 4, 22),
end: new Date(2013, 2, 4, 23, 59, 59),
status: "busy"},
{start: new Date(2013, 2, 5, 0),
end: new Date(2013, 2, 5, 2),
status: "busy"}]
然后将其映射到Stack Layout。
所以我的问题是,如何更好地拆分和分组数组,以使这种可视化更容易?也许有一些内置的 D3.js 功能呢?