2014-01-05 71 views
0

我的需求是非常相似的this question,其中类似的一系列记录:如何创建dc.js出多系列的堆积柱形图

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。有人能够帮助我了解这一点吗?提前致谢。

回答

1

可以定义xUnits是一个时间间隔,例如几分钟或几小时:

time_chart 
.xUnits(d3.time.minutes) 

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

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

+0

这个工作,有一个行添加到源'd3.js'为了揭露'd3_time_interval'类,这样我可以定义一个后自定义时间单位与“d3.time.minute”的时间单位相同。你会有一个“黑客”的方式来实现这一目标吗? –

+0

嗨路易斯,我想你可以自己重新定义这门课程。你能分享你的解决方案给未来的这个线程的观众吗? –