2015-08-18 56 views
1

我已經使用nvd3有用的預先打包圖表製作了一個堆疊折線圖。Uncaught TypeError:無法讀取NV中未定義的屬性'y'StackedLine

我得到的圖表大部分功能都很好,但是每當我點擊一個特定的系列時,錯誤'Uncaught TypeError:無法讀取未定義的屬性'y',並且圖表不調整爲只顯示系列。

對於正確功能的示例:http://nvd3.org/examples/stackedArea.html

我已經覈對過的最常見的錯誤,包括不同尺寸系列,它是無那些。

我使用生成圖表的代碼是:

function stackedChart(data) { 
    nv.addGraph(function() { 
     var chart = nv.models.stackedAreaChart() 
         .margin({right: 100}) 
         .x(function(d) { return d[0] }) 
         .y(function(d) { return d[1] }) 
         .useInteractiveGuideline(true) 
         .duration(500)  
         .showControls(true)  
         .clipEdge(true); 


     chart.xAxis 
      .tickFormat(d3.format(',.0f')); 

     chart.yAxis 
      .tickFormat(d3.format(',.2f')); 

     d3.select('#stackedChart svg') 
      .datum(data) 
      .transition().duration(500).call(chart); 

     nv.utils.windowResize(chart.update); 

     return chart; 
    }); 

} 

stackedChart(a); 

與在的jsfiddle發現錯誤的一個活生生的例子中的數據:在這裏https://jsfiddle.net/0yxr15ut/5/

+0

如果您在使用面積圖的同時使用兩個不同的圖表,請確保您的Y軸的值存在於兩個圖表的數據集中。 – m0g

+0

我也看到同樣的事情,我運行檢查以查看數據集中每個值的匹配標籤。 –

+0

@JosueIbarra:你能否詳細說明一下? –

回答

1

這個問題一直地址: https://github.com/novus/nvd3/issues/1093 解決方法可用於此問題,雖然不確定有關副作用。 添加在分散Y功能下列檢查你的nv.d3.js

.y(function(d) { 
       if (d.display !== undefined) { return d.display.y + d.display.y0; } 
       else return 0 
      }) 

我已經做了的寶庫,它有這樣的變化,您可以使用。 https://github.com/nishantk92/nvd3.git

相關問題