fundevogel/tiny-phpeanuts

一个用于创建SVG环形图(和饼图)的PHP库。

1.0.2 2021-07-12 14:47 UTC

This package is auto-updated.

Last update: 2024-09-12 22:14:48 UTC


README

Release License Issues Status

一个用于创建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);

..看起来像这样

Donut Chart, powered by tiny-phpeanuts

..并且使用setPieChart(true)

Donut Chart, powered by tiny-phpeanuts

常见问题解答

未来会有更多的图表吗?

欢迎PR,除此之外..没有。

你确定吗?

是的!如果你在寻找更严肃的东西,看看 easychart

路线图

  • 添加测试
  • 选项的表格视图
  • 优化代码

致谢

此项目基于Kim Almasan和Lars Krumbier的TypeScript库 tiny-donuts。辅助函数(请参阅lib/helpers)来自Bastian Allgeier的Kirby(该项目及其创始人都是非常棒的,顺便说一下)。

编码愉快!

©️ Fundevogel Kinder- und Jugendbuchhandlung