Google Chart Click Event
by Joviano Dias
HTML
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<div id="chart_div"></div>
JavaScript
google.load("visualization", "1.1", {packages:["bar"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Year', 'Sales', 'Expenses', 'Profit'],
['2014', 1000, 400, 200],
['2015', 1170, 460, 250],
['2016', 660, 1120, 300],
['2017', 1030, 540, 350]
]);
var options = {
chart: {
title: 'Company Performance',
subtitle: 'Sales, Expenses, and Profit: 2014-2017',
},
bars: 'horizontal' // Required for Material Bar Charts.
};
var chart = new google.charts.Bar(document.getElementById('chart_div'));
chart.draw(data, options);
google.visualization.events.addListener(chart, 'select', selectHandler);
function selectHandler() {
var selection = chart.getSelection();
var message = '';
for (var i = 0; i < selection.length; i++) {
var item = selection[i];
if (item.row != null && item.column != null) {
var str = data.getFormattedValue(item.row, item.column);
var category = data
.getValue(chart.getSelection()[0].row, 0)
var type
if (item.column == 1) {
type = "sale";
} else if(item.column == 2){
type = "Expense";
}else{
type = "Profit";
}
message += '{row:' + item.row + ',column:' + item.column
+ '} = ' + str + ' The Category is:' + category
+ ' it belongs to : ' + type + '\n';
} else if (item.row != null) {
var str = data.getFormattedValue(item.row, 0);
message += '{row:' + item.row
+ ', column:none}; value (col 0) = ' + str
+ ' The Category is:' + category + '\n';
} else if (item.column != null) {
var str = data.getFormattedValue(0, item.column);
message += '{row:none, column:' + item.column
+ '}; value (row 0) = ' + str
+ ' The Category is:' + category + '\n';
}
}
if (message == '') {
message = 'nothing';
}
alert('You selected ' + message);
}
}