如何使用php数据变量创建条形图


how to create a bar chart with php data variables

我正在使用chart.js创建条形图,但我希望条形图中的值是一个php数组,一个数组用于值,一个阵列用于标签。我该如何将这些aray添加到条形图中。目前我有这个条形图的数据:

ar barData = {
labels : ["January","February","March","April","May","June"],
datasets : [
    {
        fillColor : "#48A497",
        strokeColor : "#48A4D1",
        data : [456,479,324,569,702,600]
    }
]

}

我试着做了以下操作,但仍然没有成功:

<script type="text/javascript">
   var chartLabels= <?php echo $chartLabels; ?>
   var chartValues= <?php echo $chartValues; ?>
</script>

我想用php数组替换"标签",以及"数据"

如果$chartLabels或$chartValues是数组,则不能回显它们。您可以将数组内爆为js字符串,并将其作为数据的值,如下所示:

var barData = {
  labels : ["January","February","March","April","May","June"],
  datasets : [
      {
          fillColor : "#48A497",
          strokeColor : "#48A4D1",
          data : <?php echo '['.implode(", ", $data).']'?>
      }
  ]
}

其中$data是一个普通的php数组。

<script type="text/javascript">
   var chartLabels= <?php echo $chartLabels; ?>
   var chartValues= <?php echo $chartValues; ?>
</script>

奇怪的是,这个代码不起作用。您是否在ready处理程序中使用了所有的javascript?另外,请注意,在获取数据和绘制数据之前,应该声明这些变量并分配值。

实现您想要的另一种方法:

您可以在那里使用ajax请求。在绘制图形之前,您将发送ajax请求并从php服务器获得json响应。它将包含链接到标签的所有标签和所有值。现在,您需要它来解析这个json并构建图。

阅读有关getJSONparseJSON java脚本函数的信息。

php脚本只生成2个数组,然后将它们合并为一个大数组并对它们进行编码。

$values = array();
// get values
$labels = array();
// get labels
$result = array($values, $labels);
echo json_enocde($result);

简单:)

希望这对你有帮助。