The maantje/charts package by Jamie Schouten is a zero-dependency PHP library for generating SVG charts. Charts has a straightforward API, which you can use to create SVGs directly in PHP without any additional dependencies required:
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();
The example bar chart renders the following SVG:
The library seemed very performant to me while running the
examples. You can generate the example SVG files by cloning the
repo and running the examples
composer script:
git checkout https://github.com/maantje/charts
cd charts
composer install
composer run examples
open examples/output/
Package Features
- Simple, intuitive API for chart creation
- Lightweight, with no external dependencies
- Supports various chart types: line charts, bar charts, stacked charts, and mixed charts
- Fully customizable and extendable
- Outputs pure SVG, allowing for:
You can learn more about this package, get full installation instructions, and view the source code on GitHub at maantje/charts.
The post A Zero-dependency SVG Chart Library for PHP appeared first on Laravel News.
Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.