PHP 的零依赖 SVG 图标库
maantje/charts 包是一个由 Jamie Schouten 开发的零依赖 SVG 图标库。它有一个直观的 API,你可以在 PHP 中直接使用来创建 SVG,而无需引入其他依赖项:
use Maantje\Charts\Bar\Bar;
use Maantje\Charts\Bar\Bars;
use Maantje\Charts\Chart;
$chart = new Chart(
series: [
new Bars(
bars: [
new Bar(name: 'Jan', value: 222301),
new Bar(name: 'Feb', value: 189242),
new Bar(name: 'Mar', value: 144922),
],
),
],
);
echo $chart->render();
该示例中的条形图将渲染成如下 SVG:
你可以通过克隆仓库并运行 examples
composer 脚本来生成示例 SVG 文件:
cd charts
composer install
composer run examples
open examples/output/
包特性
- 简单直观的 API
- 轻量,无额外依赖项
- 支持多种图表类型:折线图、条形图、堆叠图和混合图
- 可自定义及可扩展
- 输出纯 SVG,允许:
- 嵌入到 PDF 中 (可用于报告)
源码: maantje/charts