Black-Cat
Black-Cat

Reputation: 3

this.map.tick is not a function

i am rendering data in a bar chart as a grouped data through php loops. my data in js is as

var graphTarget12 = $("#myBarChartOdometer");

    var barGraph = new Chart(graphTarget12, {
        type: 'bar',
        data: {
                      labels: 'Lahore,Ahmed',
          datasets: [
                          {
              label:'hi',
                data:[320,100]                },
                        {
              label:'hi',
                data:[120,200]                },
                    ]
      }
    });

My code in file is as follow

<script>
        var graphTarget12 = $("#myBarChartOdometer");

        var barGraph = new Chart(graphTarget12, {
            type: 'bar',
            data: {
            <?php 
              $data = Odometer();
              // echo count($data);
              $name = array();
              for($i=0;$i<count($data);$i++) {
                  $arrays = $data[$i];
                  array_push($name,$arrays['groupName']);
                 // print_r(count($meter));
                  // die;
                  $nameImplode = implode(',', $name);
                }
             ?>
              labels: <?php echo "'".$nameImplode."'"; ?>,
              datasets: [
              <?php 
                for($i=0;$i<count($data);$i++) {
                  $arrays = $data[$i];
                  $meter = $arrays['odometer'];
                 // print_r(count($meter));
                  // die;
                  $odoValue = array();
              for($s=0;$s<count($meter);$s++)
              { 
                $odo = $meter[$s];
                array_push($odoValue,$odo['odometer']);
              }
              $implode = implode(',', $odoValue);
              ?>
                {
                  label:'hi',
                    data:<?php echo "[".$implode."]";?>
                },
            <?php  } ?>
            ]
          }
        });
    </script>

My data format in php is as follow

$array = array(
    array('groupName' => 'Lahore','odometer' => array(array('odometer' =>320),array('odometer' => 100))),
    array('groupName' => 'Ahmed','odometer' => array(array('odometer' =>120),array('odometer' => 200)))
);

Please help me solve this.i spent 2days already and couldn't figure out solution. if any other way please show me

Upvotes: 0

Views: 742

Answers (1)

Mayank Dudakiya
Mayank Dudakiya

Reputation: 3869

Your label should be like array.

 labels: ['Lahore','Ahmed'],

You've used like this

labels: 'Lahore,Ahmed',

Upvotes: 2

Related Questions