0

我的需求与这个问题的需求非常相似,其中一系列记录如下:

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等)。在此处对该问题的回答中给出了可行的实现。但是,我需要将系列绘制为bar

我想我应该检查 dc.js 的seriesChart类是如何实现的,并尝试将它分叉以使用barChart而不是lineChart作为其内部绘图功能。你可以在这里找到结果。(查看文件seriesbarchart.js并与进行比较)

我的测试存在的一个缺陷是条形图的单像素宽度。我是这个 Javascript/HTML/CSS 网络世界的新手,对于 D3 和 dc.js 更是如此。有知识的人可以帮我解决这个问题吗?提前致谢。

4

1 回答 1

1

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

time_chart
.xUnits(d3.time.minutes)

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

这是一个解决该问题的问题: 如何在 d3.js 中定义自定义时间间隔

于 2014-01-05T16:59:24.983 回答