amenadiel/jpgraph

Composer 兼容,JpGraph 的全面重构,用于创建图表和图形的库

v4.1.1 2021-04-27 19:09 UTC

README

JpGraph 社区版 是 JpGraph v3.5 的一个 Composer 兼容版本。随着时间的推移和增量重构,它已经变成了一个全新的库,拥有符合 PSR-1PSR-2 的代码库,命名空间和文件夹层次结构支持 PSR-4 自动加载等。

我们现在与当前官方版本的关系最多也就是远亲。

重构是一个持续的努力,我们确保版本和新增内容不会影响我们的(已经很差的)指标。

Scrutinizer Code Quality

JPGraph 社区版是什么?

他们的发布部分 所示,JPGraph 的发布周期中有一段六年的暂停,在这段时间里,我们中的一些人不得不通过编写代码来摆脱 PHP 5.x。因此,“社区版”诞生了。从那时起,这个库独立发展,并与官方包完全分离。

总的来说,JPGraph CE 依赖于 PHP 的繁荣生态系统。我们的目标是成为你可以无缝集成到你的应用程序中的简单依赖项。JPGraph CE 与 PHP 标准推荐 保持一致,该推荐由 PHP 框架互操作性小组 发布,并且当面临选择时,总是选择无差别的实现,而不是重新发明轮子的定制实现。大量代码已经根据此目的进行了修剪和重构,还有更多等待进行此类更改。

  • 通过 PHP 流行的 Packagist 注册表 分发。
  • 依赖于 Composer,因此你不需要手动下载或复制任何东西,也不需要自己检查平台和依赖项要求。
  • PSR-4: 适用于自动加载的结构。无需在代码中求助于 requireinclude
  • 合理的回退机制以处理缺少字体或特定 GD 版本功能可用性。
  • IDE 友好,支持自动完成和定义跳转,如果支持的话。
  • 集成管道 检查新版本与不同 PHP 版本的兼容性。
  • 预期新或重构的代码将遵循 PSR-1PSR-2 编码标准(最终可能还包括 PSR-12)。

与原始 v3.5 代码库相比,我们还移除了仅限于 v3.5 专业版(例如条形码)的图形类型示例或不完整实现。

JPGraph CE 不是什么

  • 这个库 不是官方的 JPGraph 包。官方包可以在 JPGraph 网站上的下载部分 下载。他们有一个功能齐全的免费版本,支持当前和旧版本的 PHP。
  • JPGraph 的创建公司 Asial 以任何方式支持。
  • 官方包的启用包装器
  • 官方包的直接替换。我们不保证也不提供与官方包的任何功能兼容性。

需求和安装

此版本需要PHP v7.2.0+。如果您需要在较旧的PHP环境中安装此库包,请尝试

  • 升级您的PHP安装。(是的,PHP 7.2 已过其EOL)
  • 对于PHP v7.0+,请尝试v4.0.x版本
  • 对于PHP v5.6+,请检查v3.6.x版本

使用composer安装

composer require amenadiel/jpgraph:^4

如何使用

查看示例文件夹中的工作示例。

这些示例的工作方式与您应该使用此库的方式相同

  • 运行composer install

  • 在脚本顶部包含vendor/autoload.php

  • 使用以下代码片段生成图形

   require_once 'PATH/TO/vendor/autoload.php';

   use Amenadiel\JpGraph\Graph;
   use Amenadiel\JpGraph\Plot;

   // Create the Pie Graph.
   $graph = new Graph\PieGraph(350, 250);
   $graph->title->Set("A Simple Pie Plot");
   $graph->SetBox(true);

   $data = array(40, 21, 17, 14, 23);
   $p1   = new Plot\PiePlot($data);
   $p1->ShowBorder();
   $p1->SetColor('black');
   $p1->SetSliceColors(array('#1E90FF', '#2E8B57', '#ADFF2F', '#DC143C', '#BA55D3'));

   $graph->Add($p1);
   $graph->Stroke();
  • 重要 在其内容(例如,图表)之前实例化图形(或图形子类)。这样做会将全局配置加载到全局范围内。是的,我们知道我们在全局范围内用数十个常量污染了全局作用域,但我们仍在重构 🤷。

通过执行以下步骤查看示例工作

  • 运行composer install
  • 运行make start php -S localhost:8000 -t Examples
  • http://localhost:8000打开您的浏览器

更改配置

您可以通过在项目根目录中创建一个.env文件来覆盖在config.inc.php中设置的某些配置。请参阅.env.example作为参考。

贡献者 ✨

All Contributors

感谢这些出色的人们 (emoji key)

此项目遵循all-contributors规范。欢迎任何类型的贡献!

愿望清单

  • 使所有示例都工作(其中一半尚未从旧代码转换为新的PSR-4格式)
  • 添加更多测试(我们需要测试更多类和方法,以及执行更多当前测试的断言)
  • 添加对imagick的替代使用

jpgraph_logo

类似项目

许可证

FOSSA Status