如何在dc.js中创建多系列堆叠条形图

时间:2014-01-05 14:42:41

标签: javascript bar-chart dc.js stacked-chart

我的需求与this question非常相似,其中有一系列记录,如:

var data = [
 // time, text, temperature, count
 ['1379952000', 'field_1', 91, 56],
 ['1379952000', 'field_2', 50, 20],
 ['1379952000', 'field_3', 88, 24],
 ['1379952000', 'field_4', 50, 37],
 ['1379953200', 'field_1', 97, 58],
 ['1379953200', 'field_2', 84, 86],
 ['1379953200', 'field_3', 85, 62],
 ['1379953200', 'field_4', 88, 73]
 // etc.
];

需要绘制为一组时间序列,每个系列对应text字段的每个唯一值(即field_1field_2等)。在该问题的答案here中给出了可行的实施方案。但是,我需要将系列绘制为

我想我应该检查dc.js的seriesChart类是如何实现的,并尝试将其分叉以使用barChart而不是lineChart作为其内部绘图功能。你可以找到the result here。 (请参阅文件seriesbarchart.js并与the source进行比较)

我的测试中的一个缺陷就是条形图出现的单像素宽度。我是这个Javascript / HTML / CSS网络世界的新手,对D3和dc.js更是如此。知识渊博的人可以帮我一把吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以将xUnits定义为时间间隔,例如分钟或小时:

time_chart
.xUnits(d3.time.minutes)

但是,对于您的数据,您可能需要15分钟的时间间隔。这需要一个自定义的时间间隔。

这是一个解决这个问题的问题:   How to define custom time interval in d3.js