You can use JQuery and SPServices code to achieve your requirement as below:
Read data from a list:
function ReadData(){
$().SPServices({
operation: "GetListItems",
async: false,
listName: "Phone",
CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='People_x0020_using' /></ViewFields>",
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function () {
var title = $(this).attr("ows_Title");
var people = $(this).attr("ows_People_x0020_using");
//Converting decimal number to whole number, for example ->3.000 to 3
people = Math.floor(people);
//creating json Object to save the values
var jsonObj_Values = {};
jsonObj_Values["Title"] = title;
jsonObj_Values["People"] = people;
//Adding jsonObj_Values to main json
jsonObj_Chart[title] = jsonObj_Values;
})
}
});
}
Generate the Chart:
function GenerateChart(){
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
["Phone", "No. of ppl"],
["iPhone", 100],
["Samsung", 150],
["BlackBerry", 50],
["mi", 130]
]);
var data = new google.visualization.DataTable();
data.addColumn('string', 'Phone');
data.addColumn('number', 'No. of ppl');
$.each(jsonObj_Chart, function(key, value) {
data.addRow([value.Title, value.People]);
});
var options = {
chart: {
title: 'Phone',
subtitle: 'No. of ppl usage',
}
};
var chart = new google.charts.Bar(document.getElementById("Barchart_Phone"));
chart.draw(data, options);
}
}
Detailed information check the post: Google Charts in SharePoint