在for循环中绘制多个Google个饼图
Draw multiple Google pie charts in for loop
这就是我想要做的。我正在尝试放置多个 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
}
?>
这里是 google 图表代码:
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 循环中。
这就是我想要做的。我正在尝试放置多个 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
}
?>
这里是 google 图表代码:
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 循环中。