ianw / quickchart
QuickChart 图表 API
Requires
- php: >=5.3.0
README
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。