how to use same controller to show different graphs which has different format of $chart.type, $chart.data,$chart.options,$this.chart.data.rows

I want to show LineChart,PieChart,BarChart for the same data on the webpage at the same time, can i use the same controller to show CandlestickChart and BarChart, pieChart? Any inputs.

Demo which shows only CandleStickChart: https://plnkr.co/edit/mLgoz729eVqzHaog7uDx?p=preview

Note:$chart.type, $chart.data,$chart.options,$this.chart.data.rows format/data is different compared to CandlestickChart and LineChart.

In the above demo it is only showing Candlestickchart on the UI, i want to show BarChart and PieChart for the same data using the same js controller, is it possible? js code:

Below js code is used to show candlestick chart.

    angular.module('myApp', ['googlechart'])
          .controller('myController', function($scope) {

           $chart = {};
            $chart.type = "CandlestickChart";
            $chart.view = {
              columns: [0, 1, 2, 3,4]
            }; 

            $chart.data = {
                "cols": [
                    {id: "Status", label: "Status", type: "string"},
                    {id: "low", label: "low", type: "number"},
                    {id: "open", label: "open", type: "number"},
                    {id: "close", label: "close", type: "number"},
                    {id: "high", label: "high", type: "number"} 
                ]
            };
              $chart.options = {
                  legend: 'none',
                  bar: { groupWidth: '100%' }, // Remove space between bars.
                  candlestick: {
                    fallingColor: { strokeWidth: 0, fill: '#a52714' }, // red
                    risingColor: { strokeWidth: 0, fill: '#0f9d58' }   // green
                  },
                  series: {1: {type: 'line'}}
              } 
      $scope.values = [{"Status":"March", "Laptop" : 12, "Desktop" : 44,"Server":21},
    {"Status":"April", "Laptop" : 55, "Desktop" : 14,"Server":11},
    { "Status":"May","Laptop" : 4, "Desktop" : 64,"Server":21},
     ];

    $scope.chart = [];

    var laptop;
    var desktop;
    var shipping;
    var server;
    var temp=0;

    angular.forEach($scope.values, function(value, key){

      $thisChart = {};
      angular.copy($chart, $thisChart);
      $scope.chart.push($thisChart);
      status = value.Status;
      laptop = value.Laptop;
      desktop = value.Desktop+laptop;
      server = value.Server+desktop;

      $thisChart.data.rows = [
       {
            c: [
              {v:status},
              {v:temp},
              {v:temp},
              {v:laptop},
              {v:laptop},
              {v:"laptop"}/*text to show on tooltip*/

          ]
      },
      {
        c:[
          {v:status},
          {v:laptop},
          {v:laptop},
          {v:desktop},
          {v:desktop},
          {v:"desktop"}/*text to show on tooltip*/
          ]
      },
      {
        c:[
        {v:status},
        {v:desktop},
        {v:desktop},
        {v:server},
        {v:server},
        {v:"server"}/*text to show on tooltip*/
        ]},

  ];                   
});
  });

changes made for the above js code to show Linechart for the same set of values ($scope.values) as used in above js code:

 $chart.type = "LineChart";
                $chart.view = {
                  columns: [0, 1, 2, 3]
                }; 

                $chart.data = {
                    "cols": [
                        {id: "Status", label: "Status", type: "string"},
                        {id: "laptop", label: "laptop", type: "number"},
                        {id: "desktop", label: "desktop", type: "number"},
                        {id: "server", label: "server", type: "number"} 
                    ]
                };
                 chart1.options = {
               "title": "Sales per month",
               "colors": ['#0000FF', '#009900', '#CC0000'],
                "isStacked": "true",
               "fill": 20,
               "displayExactValues": true,
               };
          $scope.values = [{"Status":"March", "Laptop" : 12, "Desktop" : 44,"Server":21},
        {"Status":"April", "Laptop" : 55, "Desktop" : 14,"Server":11},
        { "Status":"May","Laptop" : 4, "Desktop" : 64,"Server":21},
         ];

        $scope.chart = [];

        var laptop;
        var desktop;
        var server;
        angular.forEach($scope.values, function(value, key){
          $thisChart = {};
          angular.copy($chart, $thisChart);
          $scope.chart.push($thisChart);
          status = value.Status;
          laptop = value.Laptop;
          desktop = value.Desktop+laptop;
          server = value.Server+desktop;
          $thisChart.data.rows = [
           {
                c: [
                    {v:laptop},
                  ]
          },
          {
            c:[
              {v:desktop},
              ]
          },
          {
            c:[
            {v:server},
            ]},

      ];                   
    });

.