fundevogel / tiny-phpeanuts
一个用于创建SVG环形图(和饼图)的PHP库。
1.0.2
2021-07-12 14:47 UTC
Requires
- meyfa/php-svg: ^0.10.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- phpunit/phpunit: ^8.1
This package is auto-updated.
Last update: 2024-09-12 22:14:48 UTC
README
一个用于创建SVG环形图(和饼图)的PHP库。
是什么
此库是TypeScript库 tiny-donuts
的PHP端口。
为什么
我们需要饼图 - 然而,Chart.js对于我们的用例来说功能过于强大(并且体积庞大),并且为我们的浏览器应用程序增加了>200kb。
因此,我们编写了这个小型库,其压缩大小为4 KiB。
虽然tiny-donuts
是一个很好的库,但我们需要的库更侧重于服务器端而不是客户端。
因此,我们将他们的库移植到PHP。
如何
使用 Composer 安装此包
composer require fundevogel/tiny-phpeanuts
配置
Donut
类需要三个参数
选项
..还有更多!查看这些“全局”选项
示例
<?php require_once('vendor/autoload.php'); use Fundevogel\Donut; $donut = new Donut( [ ['color' => '#4F5D95', 'value' => 0.68], # PHP ['color' => '#2b7489', 'value' => 0.25], # TypeScript ['color' => '#563d7c', 'value' => 0.04], # CSS ['color' => '#3572A5', 'value' => 0.02], # Python ['color' => '#89e051', 'value' => 0.01], # Shell ] ); // .. maybe make it a pie chart? $donut->setPieChart(true); // Render its markup $svg = $donut->render(); # Save it to disk .. # (1) .. using the XML DOM parser $dom = new DOMDocument; $dom->preserveWhiteSpace = FALSE; $dom->loadXML($svg); $dom->save('dist/chart_xml-dom-parser.svg'); # (2) .. echoing its contents header('Content-Type: image/svg+xml'); echo $svg; # (3) .. or simply like this file_put_contents('dist/chart_file-put-contents.svg', $svg);
..看起来像这样
..并且使用setPieChart(true)
常见问题解答
未来会有更多的图表吗?
欢迎PR,除此之外..没有。
你确定吗?
是的!如果你在寻找更严肃的东西,看看 easychart。
路线图
- 添加测试
- 选项的表格视图
- 优化代码
致谢
此项目基于Kim Almasan和Lars Krumbier的TypeScript库 tiny-donuts
。辅助函数(请参阅lib/helpers
)来自Bastian Allgeier的Kirby(该项目及其创始人都是非常棒的,顺便说一下)。
编码愉快!
©️ Fundevogel Kinder- und Jugendbuchhandlung