我的需求与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_1
,field_2
等)。在该问题的答案here中给出了可行的实施方案。但是,我需要将系列绘制为条。
我想我应该检查dc.js的seriesChart
类是如何实现的,并尝试将其分叉以使用barChart
而不是lineChart
作为其内部绘图功能。你可以找到the result here。 (请参阅文件seriesbarchart.js
并与the source进行比较)
我的测试中的一个缺陷就是条形图出现的单像素宽度。我是这个Javascript / HTML / CSS网络世界的新手,对D3和dc.js更是如此。知识渊博的人可以帮我一把吗?提前谢谢。
答案 0 :(得分:1)
您可以将xUnits定义为时间间隔,例如分钟或小时:
time_chart
.xUnits(d3.time.minutes)
但是,对于您的数据,您可能需要15分钟的时间间隔。这需要一个自定义的时间间隔。
这是一个解决这个问题的问题: How to define custom time interval in d3.js