Ответ 1
Наконец, у меня есть решение моей проблемы. Я надеюсь, что это поможет многим другим, как я. Проблема в основном заключается в ограничении метода arrayToDataTable. Строка данных должна иметь правильный тип во всех столбцах. Поскольку у нас есть нулевые значения в строках, API либо предполагает, что тип данных этого столбца равен нулю, либо выдает ошибку о невозможности получения допустимого типа данных. Чтобы это исправить, вам нужно переключиться на стандартный конструктор DataTable
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]
]);
Скопировано по следующей ссылке https://groups.google.com/forum/?fromgroups=#!topic/google-visualization-api/2Jafk8PyjV4
Кроме того, с помощью arrayToDataTable() вы можете указать тип в строке заголовка. Смотрите документы для более 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],
]);