2014-04-01 52 views
3

我的累積折線圖不構建yScale正確。NVD3如何設置y正確縮放?

由於數據是建立圖表:

var data = [{ 
    key: "Page view", 
    values: [ 
    ["2013-07-01 00:00:00", 1], 
    ["2013-08-01 00:00:00", 17], 
    ["2013-09-01 00:00:00", 5], 
    ["2013-10-01 00:00:00", 13] 
    ] 
}]; 

的最大值應該在yScale顯示17它顯示8,你可以在這裏看到:

https://www.evernote.com/shard/s253/sh/35928a9c-f5bb-4862-a227-f86423e6dd8a/8745a2c6cb5571002b7ec33b5386172a

也就是說我的代碼:

nv.addGraph(function() { 
    var chart; 
    chart = nv.models.cumulativeLineChart() 
       .x(function(d) { return moment(d[0]) }) 
       .y(function(d) { return d[1] }) 
       .color(d3.scale.category10().range()) 
       .transitionDuration(300) 
       .showControls(false); 

    chart.xAxis 
     .tickFormat(function (d) { 
     return d3.time.format('%d/%m/%y')(new Date(d)) 
     }); 

    chart.xScale(d3.time.scale()); 
    d3.select('#chart svg') 
     .datum(data) 
     .call(chart); 

    nv.utils.windowResize(chart.update); 

    return chart; 
}); 

https://gist.github.com/lemanchester/9919615

我試着使用:

chart.yScale().domain([0, 50]); 

或/和

chart.forceY ([0, 50]) 
+0

它看起來像累積折線圖的默認值是顯示Y軸爲*百分比(或比例)更改*而不是原始值。但是,這仍然沒有意義,因爲第二個數據點(從1到17)的百分比變化應該是x16,而不是x8。他們似乎也在對域的大小進行調整......我的建議是:使用常規的線形圖,並自己循環遍歷數據數組以找出累積值。 – AmeliaBR

回答