Google Ches Nested PieChart возвращает столбец как ноль
У меня есть вложенная круговая диаграмма, которая хорошо отображается. Я добавил "google.visualization.events.addListener", чтобы получить выбранные данные по клику. У меня есть страница с несколькими графиками, и все они возвращают значения для строки и столбца. В моей диаграмме два года данных "бок о бок", и мне нужно различить, какой набор данных нажимается пользователем. Оба набора данных возвращают строки, но ни один не возвращает столбцы. Вот код, который я использую:
google.setOnLoadCallback(drawLocationChart);
function drawLocationChart() {
var newData5 = google.visualization.arrayToDataTable(
[["Location","Last 12mo Spend"],
["OMAHA, NE 68137",17916.2],
["SOUTHLAKE, TX 76092",12787.89],
["SUNNYVALE, CA 94085",7539.96],
["GREENVILLE, SC 29607",6627.21],
["TAMPA, FL 33634",3210.89]]);
var oldData5 = google.visualization.arrayToDataTable(
[["Location","Previous 12mo Spend"],
["OMAHA, NE 68137",17316.2],
["SOUTHLAKE, TX 76092",9787.89],
["SUNNYVALE, CA 94085",12539.96],
["GREENVILLE, SC 29607",9927.21],
["TAMPA, FL 33634",3821.89]]);
var options5 = {
colors: [
'#9DB86D',
'#C6A2BB',
'#FFB03B',
'#95AB63',
'#737373',
'#1aa2e5',
'#6C4862',
'#80551E',
'#536820',
'#3A3A3A'
],
pieSliceText: 'none',
responsive: true
};
var chartDiff5 = new google.visualization.PieChart(document.getElementById('location'));
var diffData5 = chartDiff5.computeDiff(oldData5, newData5);
var formatter5 = new google.visualization.NumberFormat({pattern:'$###,###'});
formatter5.format(diffData5, 1);
formatter5.format(diffData5, 2);
chartDiff5.draw(diffData5, options5);
google.visualization.events.addListener(chartDiff5, 'select', function selectHandler5() {
var selection5 = chartDiff5.getSelection();
for (var i5 = 0; i5 < selection5.length; i5++) {
var item5 = selection5[i5];
// Here diffData5.getFormattedValue(item5.column, 0) ALWAYS returns null
var str5 = diffData5.getFormattedValue(item5.row, 0);
}
});
}
Любая помощь будет оценена.
1 ответ
getSelection
всегда вернется null
за column
на круговых диаграммах
Потому что у пользователя есть только один кусок пирога для выбора.
Таким образом, кусок пирога = row
Как правило, только две колонки данных представлены в круговой диаграмме.
Тем не менее, данные, полученные в результате computeDiff
содержит три столбца.
Колонка 0 = Метка
Столбец 1 = значение из таблицы 1
Столбец 2 = значение из таблицы 2
В качестве таких, column
не нужен для круговых диаграмм