【发布时间】:2016-08-24 10:19:51
【问题描述】:
我正在使用 crossfilter 和 dc.js,让我们考虑这个数据集:
var dataSet = [{Day:"1", Time:"1230", Score:"30"}, // Monday at 12:30
{Day:"1", Time:"0830", Score:"20"},// Monday at 08:30
{Day:"1", Time:"0900", Score:"35"},
{Day:"1", Time:"2330", Score:"40"},
{Day:"1", Time:"0450", Score:"15"},
{Day:"1", Time:"1830", Score:"35"},
{Day:"2", Time:"0630", Score:"30"},// Tuesday at 06:30
{Day:"2", Time:"0230", Score:"40"},//Tuesday at 02:30
{Day:"2", Time:"1910", Score:"35"},
{Day:"2", Time:"2130", Score:"35"},
{Day:"2", Time:"2000", Score:"20"},
{Day:"2", Time:"0725", Score:"15"},
{Day:"3", Time:"2210", Score:"30"}, // Wenesday at 22:10
{Day:"3", Time:"1450", Score:"40"},// Wenesday at 14:50
{Day:"3", Time:"0515", Score:"45"},
{Day:"3", Time:"0930", Score:"30"},
{Day:"3", Time:"1100", Score:"40"},
{Day:"3", Time:"1230", Score:"35"},
{Day:"4", Time:"1810", Score:"30"}, // Thursday at 18:10
{Day:"4", Time:"1050", Score:"40"},// Thursday at 10:50
{Day:"4", Time:"0515", Score:"45"},
{Day:"4", Time:"0930", Score:"30"},
{Day:"4", Time:"1100", Score:"40"},
{Day:"4", Time:"1230", Score:"35"},
{Day:"5", Time:"2210", Score:"30"}, // Friday at 22:10
{Day:"5", Time:"1450", Score:"40"},// Friday at 14:50
{Day:"5", Time:"0515", Score:"40"},
{Day:"5", Time:"0930", Score:"45"},
{Day:"5", Time:"1100", Score:"40"},
{Day:"5", Time:"1230", Score:"35"},
{Day:"6", Time:"2100", Score:"30"}, // Saturday at 21:00
{Day:"6", Time:"0550", Score:"40"},// Saturday at 05:50
{Day:"6", Time:"0515", Score:"45"},
{Day:"6", Time:"0930", Score:"30"},
{Day:"6", Time:"1100", Score:"40"},
{Day:"6", Time:"1230", Score:"35"},
{Day:"7", Time:"2210", Score:"40"}, // Sunday at 22:10
{Day:"7", Time:"1150", Score:"35"},// Sunday at 11:50
{Day:"7", Time:"0515", Score:"45"},
{Day:"7", Time:"0930", Score:"30"},
{Day:"7", Time:"1100", Score:"40"},
{Day:"7", Time:"1230", Score:"20"}
];
如您所见,我有一个典型的一周,从 1 到 7(星期一 到 星期日 )。
我想制作一个条形图,我可以在其中按日期和时间查看分数。
X 轴:工作日,从周一到周日,每天都在
从 00 到 24 的 24 小时
Y 轴:分数的值
为此我必须创建一个时间维度,我尝试了这个但没有很好的结果:
var timeFormatweek = d3.time.format("%w%H%M");
d.timeweek = timeFormatweek.parse(d.Day+Time);
但是这个返回总是星期一,即使我的 d.Day 改变了。 而对于图表的比例,现在不知道如何进行。
【问题讨论】:
-
有人帮忙吗?
-
将您的代码添加到小提琴或其他东西中。
-
仅供参考 - 提出问题真的很糟糕。请停止。如果您想要更快的答案,那么请考虑您可以做些什么来改善您的问题。将一个工作示例(最好在 JSFiddle 等中)放在一起并链接到它。解释准确你想看到什么。在这种情况下,您希望 d.timeweek 具有什么值?人们想提供帮助,但我们没有无限的时间,所以您越容易为我们提供帮助,您将获得更快、更好的答案。
标签: d3.js time dc.js crossfilter