2017-01-11 4 views
0

Ich mache ein Donut-Diagramm mit Leinwand js. Ich verwende einen benutzerdefinierten js-Code, wo ich eine Antwort von XML nehme und dann die Datenpunkte zeigeZwei Diagramme bilden statt eines Diagramms

Hier, wenn ich den Typ des Diagramms in "Zeile" ändern, verhält sich das Diagramm, wie es sollte, aber wenn ich mich verändere der Chart-Typ zu "pie" oder "donut", also gibt es jetzt statt einer Grafik zwei Diagramme. Wie könnte es jemandem durch ein Licht gefallen?

Mein Code ist

$scope.loadChartValue = function (data, scopes) { 
     scopes.data_id = []; 
     scopes.legend_text = ""; 
     scopes.inner_chart_data = []; 

     for (var i = 0; i <= data.length; i++) { 
      var arrayvalue = data[0].data[i]._attr; 
      if (existsInArray(scopes.data_id, arrayvalue.label._value) == false) { 
       scopes.data_id.push(arrayvalue.label._value); 
      } 
     } 
     for (var i = 0; i < scopes.data_id.length; i++) { 
      scopes.inner_chart_data = []; 
      for (var j = 0; j <= data.length; j++) { 
       if (data[0].data[j]._attr.label._value == scopes.data_id[i]) { 

        scopes.inner_chart_data.push({ label: data[0].data[j]._attr.label._value, y: data[0].data[j]._attr.value._value }); 
        scopes.legend_text = data[0].data[j]._attr.label._value; 
       } 
      } 
      scopes.dataset.push(
         { 
          type: "doughnut", 

          markerType: "circle", 
          markerSize: scopes.markersize, 
          color: scopes.chart_color_value[i], 
          showInLegend: true, 
          name: scopes.legend_text, 
          legendText: scopes.legend_text, 
          dataPoints: scopes.inner_chart_data 
         } 
       ); 
     } 
     scopes.data_length = data.length/scopes.data_id.length; 
    } 

Antwort

1

Line, Column und andere Diagrammtypen unterstützen multi-series während pie/doughnut einzelne Serie Chart sind.

Sie erstellen mehrere Datenserien anstelle von 1 Datenreihe mit mehreren dataPoints. Erstellen von einzelnen Serien mit mehreren dataPoints anstelle von mehreren dataSeries wird gut funktionieren.

Verwandte Themen