ianw/quickchart

QuickChart 图表 API

v1.3.2 2024-01-04 16:46 UTC

This package is not auto-updated.

Last update: 2024-09-12 20:24:48 UTC


README

Packagist VERSION

PHP 客户端,用于 quickchart.io 图表图像 API。

安装

在此项目中使用 QuickChart.php 库,或从 Packagist 安装

composer require ianw/quickchart

用法

此库提供 QuickChart 类。导入并实例化它。然后设置其属性并指定一个 Chart.js 配置

$chart = new QuickChart(array(
  'width' => 500,
  'height' => 300
));

$chart->setConfig('{
  type: "bar",
  data: {
    labels: ["Hello world", "Test"],
    datasets: [{
      label: "Foo",
      data: [1, 2]
    }]
  }
}');

使用 QuickChart 对象上的 getUrl() 获取渲染图表的编码 URL

echo $chart->getUrl();
// https://quickchart.io/chart?c=%7B%22type%22%3A%22bar%22%2C%22data%22%3A%7B%22labels%22%3A%5B%22Hello+world%22%2C%22Test%22%5D%2C%22datasets%22%3A%5B%7B%22label%22%3A%22Foo%22%2C%22data%22%3A%5B1%2C2%5D%7D%5D%7D%7D&w=500&h=300

如果您有一个长或复杂的图表,请使用 getShortUrl() 获取一个使用 quickchart.io 网络服务生成的固定长度 URL(请注意,除非您有订阅,否则这些 URL 只会短暂存在)

echo $chart->getShortUrl();
// https://quickchart.io/chart/render/f-a1d3e804-dfea-442c-88b0-9801b9808401

这些 URL 将渲染图表的图像

创建图表对象

QuickChart 类构造函数接受一个包含以下键的数组。所有这些键都是可选的,可以在对象创建后设置

config: array or string

实际的 Chart.js 图表配置。

width: int

图表图像的宽度(以像素为单位)。默认为 500

height: int

图表图像的高度(以像素为单位)。默认为 300

format: string

图表的格式。默认为 png。

backgroundColor: string

图表的背景颜色。任何有效的 HTML 颜色都适用。默认为 #ffffff(白色)。也接受 rgb、rgba 和 hsl 值。

devicePixelRatio: float

图表的设备像素比。这将乘以像素数。这通常用于视网膜显示屏。默认为 1.0。

version: string

要使用的 Chart.js 版本。有关受支持的版本,请参阅 文档

apiKey: string

如果您有的话,请提供 QuickChart API 密钥。

设置属性

每个选项都有一个相关的函数调用,您可以在您的 QuickChart 对象上调用此函数

  • setConfig($config)
  • setWidth($width)
  • setHeight($height)
  • setFormat($format)
  • setBackgroundColor($backgroundColor)
  • setDevicePixelRatio($devicePixelRatio)
  • setVersion($version)
  • setApiKey($apiKey)

获取 URL

有两种方法可以获取图表对象的 URL。

getUrl: string

返回一个在加载时显示图表图像的 URL。

getShortUrl: string

使用 quickchart.io 网络服务创建一个固定长度的图表 URL,用于显示图表图像。返回一个类似于 https://quickchart.io/chart/render/f-a1d3e804-dfea-442c-88b0-9801b9808401 的 URL。

请注意,对于免费服务的用户,短 URL 在几天后会过期。您可以通过 订阅 来延长它们的持续时间。

其他输出

toBinary: binary string

返回表示图表图像的二进制字符串

toFile($path: string)

将图像写入文件

例如

$chart->toFile('/tmp/myfile.png')

更多示例

查看 examples 目录以了解其他用法。

故障排除

PHP5 用户:此包需要 curl 和 json 模块。

sslv3 握手警报失败:您正在使用过时的 curl 版本。请在您的计算机上升级 curl。