2016-11-30 1 views
0

Ich versuche, Balkendiagramm mit nvd3 Daten zu erstellen. Gruppierte Option funktioniert gut, aber wenn ich Stacked wähle, wird folgender Fehler angezeigt.NVD3 gestapelt Balkendiagramm Option funktioniert nicht

Uncaught TypeError: Cannot read property '1' of undefined(…)

JSON-Format ist wie folgt.

var test = [ 

    { 
     "key":"A", 
     "values": 
      [ 
       {"x":"2016-11-24","y":34}, 
       {"x":"2016-11-25","y":10} 
       ] 
    }, 
    { 
     "key":"B", 
     "values": 
      [ 
       {"x":"2016-11-25","y":15} 
      ] 
    }, 
    { 
     "key":"C", 
     "values": 
      [ 
       {"x":"2016-11-28","y":11} 
       ] 
    }, 
] 

Javascript-Code:

var chart; 
nv.addGraph(function() { 
    chart = nv.models.multiBarChart() 
    .color(d3.scale.category10().range()) 
     .rotateLabels(0)  //Angle to rotate x-axis labels. 
     .transitionDuration(300) 
     .showControls(true) //Allow user to switch between 'Grouped' and 'Stacked' mode. 
     .groupSpacing(0.24) //Distance between each group of bars. 

     ; 

chart.reduceXTicks(false).staggerLabels(true).groupSpacing(0.3); 

chart.x(function(d) { return d.x; }); 
chart.y(function(d) { return d.y; }); 

    d3.select('#chart1 svg') 
     .datum(test) 
     .call(chart); 

    nv.utils.windowResize(chart.update); 



    return chart; 
}); 

ich es versucht, aber nicht Antwort finden. Irgendeine Hilfe ?

Antwort

0

Antwort ist in den JSON-Daten. Grundsätzlich sollte das values Array über alle Datenreihen die gleiche Länge haben. In Ihrem Beispiel erwartet nvd3, wenn Daten in eine gestapelte Ansicht umgewandelt werden, ein zweites Element des Werte-Arrays.

{ 
"key":"B", 
"values": 
    [ 
     {"x":"2016-11-25","y":15} 
    ] 
} 
Verwandte Themen