Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Lavacharts is a graphing / charting library for PHP 5.4+ that wraps Google's Javascript Chart API.

License

NotificationsYou must be signed in to change notification settings

kevinkhill/lavacharts

Repository files navigation

Total DownloadsLicenseMinimum PHP VersionGitterPayPal

Lavacharts is a graphing / chart library for PHP5.4+ that wraps the Google Chart API.

Stable:Current ReleaseBuild StatusCoverage Status

Dev:Development ReleaseBuild StatusCoverage Status

Developer Note

Please don't be discouraged if you see that it has been "years" since an update, but rather think that Lavacharts has settled into a "stable" state and requires less tinkering from me. I would love to add new features, but my responsibilities leave little room for my projects. I am happy to field issues, answer questions, debug and help if needed. Lavacharts is not vaporware! 😄

Package Features

  • Updated! Laravel 5.5+ auto-discovery
  • Any option for customizing charts that Google supports, Lavacharts should as well. Just use the chart constructor to assign any customization options you wish!
  • VisitGoogle's Chart Gallery for details on available options
  • Custom JavaScript module for interacting with charts client-side
    • AJAX data reloading
    • Fetching charts
    • Events integration
  • Column Formatters & Roles
  • Blade template extensions for Laravel
  • Twig template extensions for Symfony
  • Carbon support for date/datetime/timeofday columns
  • Now supporting22 Charts!
    • Annotation, Area, Bar, Bubble, Calendar, Candlestick, Column, Combo, Gantt, Gauge, Geo, Histogram, Line, Org, Pie, Sankey, Scatter, SteppedArea, Table, Timeline, TreeMap, and WordTree!

For complete documentation, please visitlavacharts.com

For contributing, a handy guidecan be found here


Installing

In your project's maincomposer.json file, add this line to the requirements:

"khill/lavacharts":"^3.1"

Run Composer to install Lavacharts:

$ composer update

Framework Agnostic

If you are using Lavacharts with Silex, Lumen or your own Composer project, that's no problem! Just make sure to:require 'vendor/autoload.php'; within you project and create an instance of Lavacharts:$lava = new Khill\Lavacharts\Lavacharts;

Laravel

To integrate Lavacharts into Laravel, a ServiceProvider has been included.

Laravel ~5.5

Thanks to the fantastic newPackage Auto-Discovery feature added in 5.5, you're ready to go, no registration required 👍

Configuration

To modify the default configuration of Lavacharts, datetime formats for datatables or adding your maps api key...Publish the configuration withphp artisan vendor:publish --tag=lavacharts

Laravel ~5.4

Register Lavacharts in your app by adding these lines to the respective arrays found inconfig/app.php:

<?php// config/app.php// ...'providers' => [// ...Khill\Lavacharts\Laravel\LavachartsServiceProvider::class,],// ...'aliases' => [// ...'Lava' =>Khill\Lavacharts\Laravel\LavachartsFacade::class,]

Configuration

To modify the default configuration of Lavacharts, datetime formats for datatables or adding your maps api key...Publish the configuration withphp artisan vendor:publish --tag=lavacharts

Laravel ~4

Register Lavacharts in your app by adding these lines to the respective arrays found inapp/config/app.php:

<?php// app/config/app.php// ...'providers' =>array(// ..."Khill\Lavacharts\Laravel\LavachartsServiceProvider",),// ...'aliases' =>array(// ...'Lava' =>"Khill\Lavacharts\Laravel\LavachartsFacade",)

Configuration

To modify the default configuration of Lavacharts, datetime formats for datatables or adding your maps api key...Publish the configuration withphp artisan config:publish khill/lavacharts

Symfony

The package also includes a Bundle for Symfony to enable Lavacharts as a service that can be pulled from the Container.

Add Bundle

Add the bundle to the registerBundles method in the AppKernel, found atapp/AppKernel.php:

<?php// app/AppKernel.phpclass AppKernelextends Kernel{// ..publicfunctionregisterBundles()    {$bundles =array(// ...newKhill\Lavacharts\Symfony\Bundle\LavachartsBundle(),        );    }}

Import Config

Add the service definition to theapp/config/config.yml file

imports:# ...  -{ resource: "@LavachartsBundle/Resources/config/services.yml"

Usage

The creation of charts is separated into two parts:First, within a route or controller, you define the chart, the data table, and the customization of the output.

Second, within a view, you use one line and the library will output all the necessary JavaScript code for you.

Basic Example

Here is an example of the simplest chart you can create: A line chart with one dataset and a title, no configuration.

Controller

Setting up your first chart.

Data

$data =$lava->DataTable();$data->addDateColumn('Day of Month')     ->addNumberColumn('Projected')     ->addNumberColumn('Official');// Random Data For Examplefor ($a =1;$a <30;$a++) {$rowData = ["2017-4-$a",rand(800,1000),rand(800,1000)    ];$data->addRow($rowData);}

Arrays work for datatables as well...

$data->addColumns([    ['date','Day of Month'],    ['number','Projected'],    ['number','Official']]);

Or you canuse \Khill\Lavacharts\DataTables\DataFactoryto create DataTables in another way

Chart Options

Customize your chart, with any options found in Google's documentation. Break objects down into arrays and pass to the chart.

$lava->LineChart('Stocks',$data, ['title' =>'Stock Market Trends','animation' => ['startup' =>true,'easing' =>'inAndOut'    ],'colors' => ['blue','#F4C1D8']]);

Output ID

The chart will needs to be output into a div on the page, so an html ID for a div is needed.Here is where you want your chart<div></div>

  • If no options for the chart are set, then the third parameter is the id of the output:
$lava->LineChart('Stocks',$data,'stocks-div');
  • If there are options set for the chart, then the id may be included in the options:
$lava->LineChart('Stocks',$data, ['elementId' =>'stocks-div'    'title' => 'Stock Market Trends']);
  • The 4th parameter will also work:
$lava->LineChart('Stocks',$data, ['title' =>'Stock Market Trends'],'stocks-div');

View

Pass the main Lavacharts instance to the view, because all of the defined charts are stored within, and render!

<?=$lava->render('LineChart','Stocks','stocks-div');?>

Or if you have multiple charts, you can condense theh view code withL

<?=$lava->renderAll();?>

Changelog

The complete changelog can be foundhere

Stargazers over time

Stargazers over time

About

Lavacharts is a graphing / charting library for PHP 5.4+ that wraps Google's Javascript Chart API.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp