2015-03-31 170 views
1

我正在繪製一個時間序列折線圖,其中x軸需要時間,y軸需要其他應答值。我需要幫助。該圖不是用下面的代碼繪製的。它僅顯示線條(軸)和標籤,但不顯示圖形或座標軸上的值。dc.js時間序列折線圖

data = [{"date": "31-03-2015 11:05:36", "snr": 3.2}, {"date": "31-03-2015 11:05:36", "snr": 4.9},...{"date": "31-03-2015 11:05:36", snr: 5.0}]; 

var parseDate = d3.time.format("%d-%m-%Y %H:%M:%S").parse; 
     data.forEach(function(d) { 
        d.date = parseDate(d.date); 
        }); 

var dimByTime = cf.dimension(function(d) { return d.date;}); 
     var groupForSNR = dimByTime.groupAll(); 
     groupForSNR.all = function() { return 1; }; 

var snrAP = dc.lineChart("#snrAP"); 
     snrAP 
     .dimension(dimByTime) 
     .group(groupForSNR).valueAccessor(function(d) { return d.value.snr; }) 
     .x(d3.time.scale()) 
     .xUnits(d3.time.day); 
dc.renderAll(); 

我要顯示snr在y軸和x軸對應的time

回答

2

那麼,我已經修復它自己。可能不是最佳的解決方案,但它仍然符合我的目的。這裏是修改代碼...

var dimByTime = cf.dimension(function(d) { return d3.time.minute(d.date);}); 
     var groupForSNR = dimByTime.group().reduce(
                function reduceAdd(p, v) { return v.snr; }, 
                function reduceRemove(p, v) { return v.snr; }, 
                function reduceInitial() { return 0; }); 
     groupForSNR.dispose(); 

var snrAP = dc.lineChart("#snrAP"); 
     snrAP 
     .dimension(dimByTime) 
     .group(groupForSNR) 
     .x(d3.time.scale().domain([new Date(2015, 02, 21), new Date()])) 
     .xUnits(d3.time.minute) 
     .title(function(d){ return "Time: " + d.data.key.toDateString() + "\nS/N Ratio: " + numFormat(d.data.value); }) 
     .xAxis().ticks(5);