Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save matekuna92/4dde59cb406c456c9f37c7f118afe1ed to your computer and use it in GitHub Desktop.
Save matekuna92/4dde59cb406c456c9f37c7f118afe1ed to your computer and use it in GitHub Desktop.
Google Chart with JSON
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var selectedValue = $("select option:selected").val()
var jsonData = $.ajax({
type: 'get',
url: '/social_scores/'+selectedValue,
dataType:"json",
success: function(response, status, jqXHR) {
/* Create the charts after operation succeeded */
var data = new google.visualization.DataTable(response);
data.addColumn('string', 'Week');
data.addColumn('number', 'Overall');
data.addColumn('number', 'Presence');
data.addColumn('number', 'Popularity');
data.addColumn('number', 'Engagement');
data.addColumn('number', 'Reputation');
data.addRows([
['Week 1', response.overall_score, response.presence_score, response.popularity_score, response.engagement_score, response.reputation_score ],
['Week 2', response.overall_score, response.presence_score, response.popularity_score, response.engagement_score, response.reputation_score ]
]);
var options = {
title:'Key Success Metrics over time across all channels',
'backgroundColor': 'transparent',
'width': 620,
'vAxis': {minValue:"0", maxValue:"100", gridlines:{count: 7} },
'chartArea': {top:"50", left: "40"},
'legend':{position: 'top', alignment: 'start' }
};
var chart = new google.visualization.LineChart(document.getElementById('line_graph'));
chart.draw(data, options);
}
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment