Search code examples
javascriptjquerypie-chart

How to pass the variable in google developer pie chart


Here i am using pie chart,suppose i am giving static values means it is working,istead of static i want to give dynamic values,so ['Trip With Single Occupancy', 10], instead of 10 i want to give SingleemployeeTraveld this variable, i tried but not working, if anyone know means kindly update my snippet

google.setOnLoadCallback(drawChart);
          function drawChart() {
    		 
    				var result =	{
    					  "status": "success",
    					  "data": [
    							{
    							  "SingleemployeeTraveld": "10",
    							  "TwoemployeeTraveld": "7",
    							  "ThreeemployeeTraveld": "4",
    							  "FouremployeeTraveld": "4",
    							}
    					  ]
    					}
    				
    					if(result['status'] == "success"){
    						$.each( result['data'], function( key, value ) { 
    						
    							var SingleemployeeTraveld = value.SingleemployeeTraveld;
    							var TwoemployeeTraveld = value.TwoemployeeTraveld;
    							var ThreeemployeeTraveld = value.ThreeemployeeTraveld;
    							var FouremployeeTraveld = value.FouremployeeTraveld;
    							console.log(SingleemployeeTraveld);
    							
    							var data = google.visualization.arrayToDataTable(
    							[
    							
    							  ['Task', 'Hours per Day'],
    							  ['Trip With Single Occupancy',     10],
    							  ['Trip With Two Occupancy',      7],
    							  ['Trip With Three Occupancy',  8],
    							  ['Trip With Four Occupancy', 5]
    							]
    						); 
    						
    						var options = {
    					  title: 'My Daily Activities'
    					};

    					var chart = new google.visualization.PieChart(document.getElementById('piechart'));

    					chart.draw(data, options);
    						
    						});
    						
    					}
    			
    		}
 <script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['corechart']}]}"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
           <div id="piechart" style="width: 900px; height: 500px;"></div>


Solution

  • Just convert the variables to type number first.

    google.setOnLoadCallback(drawChart);
    
    function drawChart() {
    
      var result = {
        "status": "success",
        "data": [{
          "SingleemployeeTraveld": "10",
          "TwoemployeeTraveld": "7",
          "ThreeemployeeTraveld": "4",
          "FouremployeeTraveld": "4",
        }]
      }
    
      if (result['status'] == "success") {
        $.each(result['data'], function(key, value) {
    
          var SingleemployeeTraveld = Number(value.SingleemployeeTraveld);
          var TwoemployeeTraveld = Number(value.TwoemployeeTraveld);
          var ThreeemployeeTraveld = Number(value.ThreeemployeeTraveld);
          var FouremployeeTraveld = Number(value.FouremployeeTraveld);
          console.log(SingleemployeeTraveld);
    
          var data = google.visualization.arrayToDataTable(
            [
    
              ['Task', 'Hours per Day'],
              ['Trip With Single Occupancy', SingleemployeeTraveld],
              ['Trip With Two Occupancy', TwoemployeeTraveld],
              ['Trip With Three Occupancy', ThreeemployeeTraveld],
              ['Trip With Four Occupancy', FouremployeeTraveld]
            ]
          );
    
          var options = {
            title: 'My Daily Activities'
          };
    
          var chart = new google.visualization.PieChart(document.getElementById('piechart'));
    
          chart.draw(data, options);
        });
      }
    }
     <script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['corechart']}]}"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
               <div id="piechart" style="width: 900px; height: 500px;"></div>