khill / lavacharts
Google Chart API的PHP包装库
Requires
- php: >=5.4.0
- nesbot/carbon: >=1.14 <3.0
Requires (Dev)
- codeclimate/php-test-reporter: ~0.3
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.8
- satooshi/php-coveralls: ~1.0
- squizlabs/php_codesniffer: ~2.5
Suggests
- khill/datatableplus: Adds extra features to DataTables such as csv and laravel collection parsing.
- 4.0.x-dev
- 3.2.x-dev
- 3.1.x-dev
- 3.1.14
- 3.1.13
- 3.1.12
- 3.1.11
- 3.1.10
- 3.1.9
- 3.1.8
- 3.1.7
- 3.1.6
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.1.0-beta3
- 3.1.0-beta2
- 3.1.0-beta1
- 3.1.0-alpha3
- 3.1.0-alpha2
- 3.1.0-alpha1
- 3.0.x-dev
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-rc1
- 3.0.0-beta2
- 3.0.0-beta1
- 2.5.x-dev
- 2.5.10
- 2.5.9
- 2.5.8
- 2.5.7
- 2.5.6
- 2.5.5
- 2.5.4
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.0
- 2.2.1
- 2.2.0
- 2.1.0
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 1.0.0
- dev-master
- dev-dates
This package is auto-updated.
Last update: 2024-08-25 20:02:36 UTC
README
Lavacharts 是一个为PHP5.4+提供的图表库,它封装了Google Chart API。
开发者注意
如果看到自上次更新以来已经“数年”,请不要气馁,而是认为Lavacharts已经进入了一个“稳定”状态,需要我较少的调整。我非常愿意添加新功能,但我的责任让我在项目上的时间很少。如果需要,我会处理问题、回答问题、调试并帮助。Lavacharts不是虚幻的产品!😄
包功能
- 更新了! Laravel 5.5+ 自动发现
- Google支持的所有自定义图表选项,Lavacharts也应支持。只需使用图表构造函数分配任何您想要的定制选项即可!
- 请访问Google的图表画廊获取有关可用选项的详细信息
- 用于与图表进行客户端交互的定制JavaScript模块
- AJAX数据重新加载
- 获取图表
- 事件集成
- 列格式化程序 & 角色
- Laravel的Blade模板扩展
- Symfony的Twig模板扩展
- Carbon支持日期/日期时间/时间点列
- 现在支持22种图表!
- 注释、区域、柱状图、气泡图、日历、蜡烛图、柱状图、组合图、甘特图、仪表盘、地理图、直方图、折线图、组织图、饼图、桑基图、散点图、步进区域图、表格、时间线、树状图和词树!
有关完整文档,请访问lavacharts.com
升级指南: 从2.5.x迁移到3.0.x
要参与贡献,可以在这里找到一份实用的指南:https://github.com/kevinkhill/lavacharts/blob/master/.github/CONTRIBUTING.md
安装
在你的项目的 main composer.json
文件中,添加以下行到需求中
"khill/lavacharts": "^3.1"
运行 Composer 安装 Lavacharts
$ composer update
框架无关
如果你在使用 Silex、Lumen 或自己的 Composer 项目时使用 Lavacharts,那就没问题!只需确保在项目中包含:require 'vendor/autoload.php';
并创建 Lavacharts 的实例:$lava = new Khill\Lavacharts\Lavacharts;
Laravel
为了将 Lavacharts 集成到 Laravel 中,已包含 ServiceProvider。
Laravel ~5.5
感谢 5.5 版中新增的出色新功能 Package Auto-Discovery,你无需注册即可开始使用 👍
配置
要修改 Lavacharts 的默认配置,例如 datetime 格式用于 datatables 或添加你的地图 API 密钥... 使用 php artisan vendor:publish --tag=lavacharts
发布配置
Laravel ~5.4
通过在 config/app.php
中相应的数组中添加以下行来在你的应用程序中注册 Lavacharts
<?php // config/app.php // ... 'providers' => [ // ... Khill\Lavacharts\Laravel\LavachartsServiceProvider::class, ], // ... 'aliases' => [ // ... 'Lava' => Khill\Lavacharts\Laravel\LavachartsFacade::class, ]
配置
要修改 Lavacharts 的默认配置,例如 datetime 格式用于 datatables 或添加你的地图 API 密钥... 使用 php artisan vendor:publish --tag=lavacharts
发布配置
Laravel ~4
通过在 app/config/app.php
中相应的数组中添加以下行来在你的应用程序中注册 Lavacharts
<?php // app/config/app.php // ... 'providers' => array( // ... "Khill\Lavacharts\Laravel\LavachartsServiceProvider", ), // ... 'aliases' => array( // ... 'Lava' => "Khill\Lavacharts\Laravel\LavachartsFacade", )
配置
要修改 Lavacharts 的默认配置,例如 datetime 格式用于 datatables 或添加你的地图 API 密钥... 使用 php artisan config:publish khill/lavacharts
发布配置
Symfony
该包还包括一个 Bundle,以使 Lavacharts 能够作为可以从容器中拉取的服务。
添加 Bundle
将 Bundle 添加到 app/AppKernel.php
中的 registerBundles 方法
<?php // app/AppKernel.php class AppKernel extends Kernel { // .. public function registerBundles() { $bundles = array( // ... new Khill\Lavacharts\Symfony\Bundle\LavachartsBundle(), ); } }
导入配置
将服务定义添加到 app/config/config.yml
文件
imports: # ... - { resource: "@LavachartsBundle/Resources/config/services.yml"
用法
图表的创建分为两部分:首先,在路由或控制器中定义图表、数据表和输出的自定义;
其次,在视图中使用一行代码,库将为你输出所有必要的 JavaScript 代码。
基本示例
以下是最简单图表的示例:一个包含一个数据集和标题的折线图,没有任何配置。
控制器
设置你的第一个图表。
数据
$data = $lava->DataTable(); $data->addDateColumn('Day of Month') ->addNumberColumn('Projected') ->addNumberColumn('Official'); // Random Data For Example for ($a = 1; $a < 30; $a++) { $rowData = [ "2017-4-$a", rand(800,1000), rand(800,1000) ]; $data->addRow($rowData); }
数组也适用于 datatables...
$data->addColumns([ ['date', 'Day of Month'], ['number', 'Projected'], ['number', 'Official'] ]);
或者你可以使用 use \Khill\Lavacharts\DataTables\DataFactory
以另一种方式创建 DataTables
图表选项
使用 Google 文档中提供的任何选项来自定义你的图表。将对象分解成数组并传递给图表。
$lava->LineChart('Stocks', $data, [ 'title' => 'Stock Market Trends', 'animation' => [ 'startup' => true, 'easing' => 'inAndOut' ], 'colors' => ['blue', '#F4C1D8'] ]);
输出 ID
图表需要输出到页面上的一个 div 中,因此需要一个 div 的 HTML ID。这里是你放置图表的位置 <div id="stocks-div"></div>
- 如果没有为图表设置选项,则第三个参数是输出 ID
$lava->LineChart('Stocks', $data, 'stocks-div');
- 如果设置了图表的选项,则 ID 可以包含在选项中
$lava->LineChart('Stocks', $data, [ 'elementId' => 'stocks-div' 'title' => 'Stock Market Trends' ]);
- 第四个参数也可以工作
$lava->LineChart('Stocks', $data, [ 'title' => 'Stock Market Trends' ], 'stocks-div');
视图
将主 Lavacharts 实例传递到视图中,因为所有定义的图表都存储在其中,并渲染!
<?= $lava->render('LineChart', 'Stocks', 'stocks-div'); ?>
或者如果你有多个图表,可以使用 L 来压缩视图代码
<?= $lava->renderAll(); ?>
更新日志
完整的更新日志可以在这里找到:https://github.com/kevinkhill/lavacharts/wiki/Changelog