Google Chart API error «Todas las series en un determinado eje deben ser del mismo tipo de datos»

Google Chart API error

He LineGraph utilizando googlechart. Este gráfico se crea con el siguiente código

function drawChart() {
    var data = google.visualization.arrayToDataTable([ 

      ['Categegories', 'R1' , 'R2' , 'R3' , 'R4' , 'R5' , 'R6' ],

      ['A',          1,     4,       2,    4,       1,  null],

      ['D',          3,  null,    null,    7,    null,     1],

      ['G',          null,  null,    null,       8,    null,  null],

    ]);

    var options = {
      title: 'Graph',
      pointSize: 6,
      vAxis: {minValue:0, maxValue:10,gridlines:{count:6}},
    };

    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    chart.draw(data, options);
  }

Ahora, sorprendentemente, si puedo eliminar una fila de datos ['D', 3, null, null, 7, null, 1],

Se produce un error diciendo que All series on a given axis must be of the same data type


He reducir mi código para una sola línea y encontré que hay un problema con null valores

por ejemplo,

['Category', 'R1' , 'R2' , 'R3' ],
['A',       2,  1,  1]

Genera la gráfica, mientras que si puedo agregar null valor en cualquier lugar en los datos que yo.e en el lugar de (2,1,1) no..

Esperando que algún experto de orientación acerca de la configuración de algún tipo de opción para el manejo de null valores… es muy extraño que, en algún tiempo los valores null funciona y a veces no.. 🙁

  • Hay una opción interpolateNulls: 'true' pero esto funciona para el paquete packages: ['linechart'] 🙁 y necesito el trabajo para el paquete packages:["corechart"]
InformationsquelleAutor Shahid | 2012-11-04

4 Kommentare

  1. 50

    Por último, tengo una solución a mi problema. Espero que esto ayude a muchos otros como yo. El problema es, básicamente, una limitación de arrayToDataTable método. La fila de datos debe tener el tipo correcto en todas las columnas. Ya tenemos los valores null en las filas, la API es suponiendo que el tipo de datos de columna en null o es tirar un error por no conseguir un tipo de datos válido. Para solucionar esto, usted tendrá que cambiar a la de un estándar DataTable constructor

    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Year');
    data.addColumn('number', 'Health (P)');
    data.addColumn('number', 'Health (A)');
    data.addColumn('number', 'Gender (P)');
    data.addColumn('number', 'Gender (A)');
    data.addColumn('number', 'Education (P)');
    data.addColumn('number', 'Education (A)');
    data.addColumn('number', 'Agriculture (P)');
    data.addColumn('number', 'Agriculture (A)');
    data.addColumn('number', 'Social protection (P)');
    data.addColumn('number', 'Social protection (A)');
    data.addColumn('number', 'Environment (P)');
    data.addColumn('number', 'Environment (A)');
    data.addColumn('number', 'Water/sanitation (P)');
    data.addColumn('number', 'Water/sanitation (A)');
    data.addRows([
    
        ['2008',81.06,null,1.32,null,94.68,0,13.41,null,30.36,null,19.78,null,36.87,null],
        ['2009',27.13,null,22.34,null,33.6,null,79.92,null,1.34,null,89.77,0,15.68,null],
        ['2010',104.89,0,14.61,null,33.46,null,30.29,null,22.28,null,107.81,null,1.39,null],
        ['2011',55,0,110.69,null,1.3,null,106.24,0,14.45,null,27.34,null,30.71,null],
        ['2012',29.96,null,27.88,null,44.77,null,133.83,null,1.31,null,105.01,null,17.83,null],
        ['2013',0,null,0,null,0,null,0,null,0,null,0,null,0,null]
    ]);
    

    Copiado desde el siguiente enlace
    https://groups.google.com/forum/?fromgroups=#!tema/google-visualización-api/2Jafk8PyjV4

    Alternativamente, con arrayToDataTable() se puede especificar el tipo de la fila de encabezado. Consulte la documentación para obtener más https://developers.google.com/chart/interactive/docs/datatables_dataviews#arraytodatatable

    var data = google.visualization.arrayToDataTable([
          ['Categegories', {label: 'R1', type: 'number'} , {label: 'R2', type: 'number'} , {label: 'R3', type: 'number'} , {label: 'R4', type: 'number'} , {label: 'R5', type: 'number'} , {label: 'R6', type: 'number'} ],
    
          ['A',          1,     4,       2,    4,       1,  null],
    
          ['D',          3,  null,    null,    7,    null,     1],
    
          ['G',          null,  null,    null,       8,    null,  null],
    
        ]);
    
  2. 4

    Creo que especifica el tipo en la fila de encabezado para solucionar el problema.

    var data = google.visualization.arrayToDataTable([
    ['Category', {label: 'Return', type: 'number'}, {label: 'Risk', type: `enter code here`'number'}],
    [1.5,  20, 50]
    ]);
    
  3. 3

    Para mí este error fue causado por tener una columna adicional con el que nunca tuvo ningún valor añadido

  4. 1

    Tengo este error al crear un gráfico de barras que tenía dos columnas con cadenas y uno con los números. Yo tenía la intención de mostrar un punto de vista que mantiene la segunda cadena de la columna oculta pero se me olvidó.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea