如何在 QuickChart 中加载外部数据数组?

How to load an array of external data in QuickChart?

我希望在我的 PHP 项目中使用 QuickChart。我完全浏览了 documentation。但是,其中的所有内容都将数据作为数组静态加载。我正在尝试将从其他地方生成的外部数据加载到图表中。为了理解 QuickChart,我尝试在文档中提供的示例中动态加载数据。

<?php
require_once('QuickChart.php');  //the QuickChart.php file is copied in the same folder as this file.

$qc = new QuickChart();
$data = array(50, 60, 70, 180);  //loading data dynamically.
$qc->setConfig("{
  type: 'bar',
  data: {
    labels: ['Q1', 'Q2', 'Q3', 'Q4'],
    datasets: [{
      label: 'Users',
      data: $data  //line with error.
    }]
  }
}");

$a = $qc->getUrl();
$imageData = base64_encode(file_get_contents($a));
echo '<img src="data:image/jpeg;base64,'.$imageData.'">';
?>

但是,出现如下错误

Notice: Array to string conversion in C:\xampp\htdocs\quickChart\index.php on line 12

以下是我修改后的例子

<?php
  require_once('../QuickChart.php');

  $qc = new QuickChart();
  $qc->setConfig("{
    type: 'bar',
    data: {
      labels: ['Q1', 'Q2', 'Q3', 'Q4'],
      datasets: [{
        label: 'Users',
        data: [50, 60, 70, 180]
      }]
    }
  }");

  echo $qc->getUrl();
?>

我在互联网上搜索了一段时间,但是 QuickChart 似乎没有那么流行,所以没有太多资源可供阅读。 这种情况下的解决方案是什么?

这看起来像数组的 JSON 字符串表示,例如

$jj = json_encode([50, 60, 70, 180]);

$qc->setConfig("{
    type: 'bar',
    data: {
      labels: ['Q1', 'Q2', 'Q3', 'Q4'],
      datasets: [{
        label: 'Users',
        data: $jj
      }]
    }
  }";