2014-02-28 84 views
0

时,我不断收到此错误:错误渲染nvd3条形图

Uncaught TypeError: Cannot call method 'map' of undefined 

运行此代码:

 var testdata = [ 
       { 
        label: "One", 
        x: 5, 
        y: 10 
       }, 
       { 
        label: "2", 
        x: 6, 
        y: 15 
       }, 
       { 
        label: "3", 
        x: 5, 
        y: 25 
       }, 
       { 
        label: "4", 
        x: 10, 
        y: 0 
       } 
    ]; 

    nv.addGraph(function() { 
     var width = nv.utils.windowSize().width - 40, 
      height = nv.utils.windowSize().height/2 - 40; 

     var chart = nv.models.multiBar() 
      .stacked(true) 
      .width(width) 
      .height(height); 

     d3.select("#lschart svg") 
      .datum(testdata) 
      .transition().duration(1200) 
      .attr('width', width) 
      .attr('height', height) 
      .call(chart); 

     return chart; 
    }); 

回答

0

问题是TEST_DATA的格式不正确。它应该包含在一个包含定义字段“键”和“值”的对象的数组中

var testdata = [ 
     { 
      keys: "returns", 

      values: [ 
       { 
        label: "One", 
        x: 5, 
        y: 10 
       }, 
       { 
        label: "2", 
        x: 6, 
        y: 15 
       }, 
       { 
        label: "3", 
        x: 5, 
        y: 25 
       }, 
       { 
        label: "4", 
        x: 10, 
        y: 0 
       }, 
      ] 
     } 
    ];