微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在for循环中绘制多个谷歌饼图

如何解决在for循环中绘制多个谷歌饼图

这就是我想要做的。我正在尝试放置多个 Google 饼图,我已经输入了代码,但是,我收到以下错误消息:

未捕获的类型错误:无法读取未定义的属性“arrayToDataTable”,我收到另一条错误消息:错误:arrayToDataTable 的数据不是数组。

这是我现在使用的代码

    <?PHP
      foreach ($currentTeamleaders as $currentTeamleader) {
          $chartId = "chart_div_$currentTeamleader[teamLeadId]";

          $chartData = array(
            array("Task","Daily Report"),array("Points Achieved",90),array("Points Left",190)
          );

      ?>

     <div id="<?PHP echo $chartId ?>" style="width: 900px; height: 500px;"></div>

     <script type="text/javascript">
        google.load("visualization","1",{packages:["corechart"]});
        google.setonLoadCallback(drawChart);
    </script>

     <script type="text/javascript">drawChart('<?PHP echo $chartId; ?>','<?PHP echo json_encode($chartData); ?>')</script>

     <?PHP
         }
     ?>

这是谷歌图表代码

 function drawChart(chartId,data) {



    var dataTable = google.visualization.arrayToDataTable(data);

    var options = {
        backgroundColor: 'transparent',title: '',chartArea:{right:0,top:0,width:"90%",height:"100%" },height: 150,width: 200,};

    var chart = new google.visualization.PieChart(document.getElementById(chartId));
    chart.draw(dataTable,options);

 }

可能导致问题的原因是什么?

谢谢!

解决方法

我找到了解决办法。我所做的是将 JS 代码拆分,然后将代码放在 PHP for 循环中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。