Javascript d3.js-如何根据字段值对数据进行分组/堆叠

Javascript d3.js-如何根据字段值对数据进行分组/堆叠,javascript,d3.js,visualization,Javascript,D3.js,Visualization,d3中的堆叠和分组可视化似乎通常是根据以下格式的数据创建的。我将使用一个工作日志的示例,其中包含一天中某个主题的工作小时数: Day - Java - Web 1 4.0 3.5 2 3.0 1.0 3 2.0 3.5 使数据数组中的第一个对象可以表示为: {day: 1, Java: 4.0, Web: 3.5} 相反,是否有一种方法可以从如下格式的数据创建堆叠/分组图表: Day - Topic - Hours 1 Java 4.0

d3中的堆叠和分组可视化似乎通常是根据以下格式的数据创建的。我将使用一个工作日志的示例,其中包含一天中某个主题的工作小时数:

Day - Java - Web
 1    4.0    3.5
 2    3.0    1.0
 3    2.0    3.5
使数据数组中的第一个对象可以表示为:

{day: 1, Java: 4.0, Web: 3.5}
相反,是否有一种方法可以从如下格式的数据创建堆叠/分组图表:

Day - Topic - Hours
 1    Java    4.0
 1    Web     3.5
 2    Java    3.0
 2    Web     1.0
 3    Java    2.0
 3    Web     3.5

也就是说,数据分组是否可以由属性值(在本例中为主题)确定,而不是将两个主题作为各自的属性进行编码。它似乎更加灵活——但我一直在努力寻找这种实现的示例。数据联接是否表明您不能执行上述操作?

您当然可以。根据您想到的特定示例及其使用的数据格式,您可能需要进行一些重新格式化。看起来您需要使用类似于
d.nest
的内容。看。