2014-01-05 73 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

嗨路易斯,我想你可以自己重新定義這門課程。你能分享你的解決方案給未來的這個線程的觀衆嗎? –