PHPackages                             farshidrezaei/chartio - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. farshidrezaei/chartio

ActiveLibrary[Templating &amp; Views](/categories/templating)

farshidrezaei/chartio
=====================

simple static chart generator for Laravel

v1.6.0(4y ago)846MITBlade

Since Oct 9Pushed 4y ago1 watchersCompare

[ Source](https://github.com/farshidrezaei/chartio)[ Packagist](https://packagist.org/packages/farshidrezaei/chartio)[ RSS](/packages/farshidrezaei-chartio/feed)WikiDiscussions main Synced 4w ago

READMEChangelog (10)Dependencies (1)Versions (14)Used By (0)

Chartio , Static chart generator for Laravel
============================================

[](#chartio--static-chart-generator-for-laravel)

Chartio, is a static chart generator for Laravel. Chartio generate chart by **`highchart.js`** and get screenshot from it by using **`spatie/browsershot`** .

[![exported chart image](https://github.com/farshidrezaei/chartio/raw/main/doc/chartio.png)](https://github.com/farshidrezaei/chartio/blob/main/doc/chartio.png)

please install and setup **browsershot** by docs in [here](https://github.com/spatie/browsershot).

in progress:

- cloud chart
- bar chart
- column chart
- line chart
- pie chart
- donut chart
- abstract chart (customizable)

Installation
------------

[](#installation)

### composer

[](#composer)

```
composer require farshidrezaei/chartio
```

Chartio environment
-------------------

[](#chartio-environment)

Set bellow config to `.env` file with your installed node and npm path

```
NODE_PATH=
NPM_PATH=
```

Customization
-------------

[](#customization)

for publish config file:

```
php artisan vendor:publish --provider="FarshidRezaei\Chartio\Providers\ChartioServiceProvider" --tag="config"
```

for publish view files :

```
php artisan vendor:publish --provider="FarshidRezaei\Chartio\Providers\ChartioServiceProvider" --tag="views"
```

Usage
-----

[](#usage)

Here's a quick example:

```
use FarshidRezaei\Chartio\Services\Chartio;

$data = [
 ['title'=>'foo','count'=>1234],
  ['title'=>'bar','count'=>5475],
  ['title'=>'baz','count'=>452],
  ['title'=>'don','count'=>1457],
  ['title'=>'shi','count'=>2458],
  ['title'=>'iran','count'=>3115],
  ['title'=>'persian','count'=>455],
  ['title'=>'farshid','count'=>5126],
  ['title'=>'lifeweb','count'=>1111],
];

$imagePath= Chartio::make( 'cloud' )
 ->rtl()
 ->color('#13b6b9')
 ->colorSet([ "#009299", "#1AD7DB", "#589DFB", "#5EDFFF", "#B7E778" ])
 ->title('Chartio Example')
 ->description('This is Chartio Example')
 ->xAxisField( 'title' )
 ->yAxisField( 'count' )
 ->data( $data )
 ->generate()
 ->save( Storage::path( 'chartio-example.png' ) );

```

then file will save in your entered path.

[![exported chart image](https://github.com/farshidrezaei/chartio/raw/main/doc/example.png)](https://github.com/farshidrezaei/chartio/blob/main/doc/example.png)

---

Data Sample for each chart
--------------------------

[](#data-sample-for-each-chart)

### bar:

[](#bar)

```
 $data = [
            'labels' => [ '1999', '2000', '2005' ],
            'series' => [
                [
                    'title' => 'foo',
                    'data'  => [ 10, 5, 30 ],
                ],
                [
                    'title' => 'bar',
                    'data'  => [ 15, 26, 5 ],
                ],
            ],
        ];
$imagePath= Chartio::make( 'bar' )
 ->rtl()
 ->color('#13b6b9')
 ->colorSet([ "#009299", "#1AD7DB", "#589DFB", "#5EDFFF", "#B7E778" ])
 ->title('Chartio Example')
 ->description('This is Chartio Example')
 ->data( $data )
 ->generate()
 ->save( Storage::path( 'chartio-example.png' ) );

```

export example:

[![exported chart image](https://github.com/farshidrezaei/chartio/raw/main/doc/bar.png)](https://github.com/farshidrezaei/chartio/blob/main/doc/bar.png)

### column:

[](#column)

```
 $data = [
            'labels' => [ '1999', '2000', '2005' ],
            'series' => [
                [
                    'title' => 'foo',
                    'data'  => [ 10, 5, 30 ],
                ],
                [
                    'title' => 'bar',
                    'data'  => [ 15, 26, 5 ],
                ],
            ],
        ];
$imagePath= Chartio::make( 'column' )
 ->rtl()
 ->color('#13b6b9')
 ->colorSet([ "#009299", "#1AD7DB", "#589DFB", "#5EDFFF", "#B7E778" ])
 ->title('Chartio Example')
 ->description('This is Chartio Example')
 ->data( $data )
 ->generate()
 ->save( Storage::path( 'chartio-example.png' ) );

```

export example:

[![exported chart image](https://github.com/farshidrezaei/chartio/raw/main/doc/column.png)](https://github.com/farshidrezaei/chartio/blob/main/doc/column.png)

### line:

[](#line)

```
 $data = [
            'labels' => [ '1999', '2000', '2005' ],
            'series' => [
                [
                    'title' => 'foo',
                    'data'  => [ 10, 5, 30 ],
                ],
                [
                    'title' => 'bar',
                    'data'  => [ 15, 26, 5 ],
                ],
            ],
        ];
$imagePath= Chartio::make( 'line' )
 ->rtl()
 ->color('#13b6b9')
 ->colorSet([ "#009299", "#1AD7DB", "#589DFB", "#5EDFFF", "#B7E778" ])
 ->title('Chartio Example')
 ->description('This is Chartio Example')
 ->data( $data )
 ->generate()
 ->save( Storage::path( 'chartio-example.png' ) );

```

export example:

[![exported chart image](https://github.com/farshidrezaei/chartio/raw/main/doc/line.png)](https://github.com/farshidrezaei/chartio/blob/main/doc/line.png)

### pie:

[](#pie)

```
   $data = [
            ['title'=>'foo','count'=>1234],
            ['title'=>'bar','count'=>125],
            ['title'=>'baz','count'=>564],
        ];
$imagePath= Chartio::make( 'pie' )
 ->rtl()
 ->color('#13b6b9')
 ->colorSet([ "#009299", "#1AD7DB", "#589DFB", "#5EDFFF", "#B7E778" ])
 ->title('Chartio Example')
 ->description('This is Chartio Example')
  ->xAxisField( 'title' )
 ->yAxisField( 'count' )
 ->data( $data )
 ->generate()
 ->save( Storage::path( 'chartio-example.png' ) );

```

export example:

[![exported chart image](https://github.com/farshidrezaei/chartio/raw/main/doc/pie.png)](https://github.com/farshidrezaei/chartio/blob/main/doc/pie.png)

### donut:

[](#donut)

```
   $data = [
            ['title'=>'foo','count'=>1234],
            ['title'=>'bar','count'=>125],
            ['title'=>'baz','count'=>564],
        ];
$imagePath= Chartio::make( 'donut' )
 ->rtl()
 ->color('#13b6b9')
 ->colorSet([ "#009299", "#1AD7DB", "#589DFB", "#5EDFFF", "#B7E778" ])
 ->title('Chartio Example')
 ->description('This is Chartio Example')
  ->xAxisField( 'title' )
 ->yAxisField( 'count' )
 ->data( $data )
 ->generate()
 ->save( Storage::path( 'chartio-example.png' ) );
```

export example:

[![exported chart image](https://github.com/farshidrezaei/chartio/raw/main/doc/donut.png)](https://github.com/farshidrezaei/chartio/blob/main/doc/donut.png)

### cloud:

[](#cloud)

```
$data = [
 ['title'=>'foo','count'=>1234],
  ['title'=>'bar','count'=>5475],
  ['title'=>'baz','count'=>452],
];
$imagePath= Chartio::make( 'cloud' )
 ->rtl()
 ->color('#13b6b9')
 ->colorSet([ "#009299", "#1AD7DB", "#589DFB", "#5EDFFF", "#B7E778" ])
 ->title('Chartio Example')
 ->description('This is Chartio Example')
  ->xAxisField( 'title' )
 ->yAxisField( 'count' )
 ->data( $data )
 ->generate()
 ->save( Storage::path( 'chartio-example.png' ) );
```

export example:

[![exported chart image](https://github.com/farshidrezaei/chartio/raw/main/doc/cloud.png)](https://github.com/farshidrezaei/chartio/blob/main/doc/cloud.png)

### abstract:

[](#abstract)

```
$imagePath = Chartio::make( 'abstract' )
            ->rtl()
            ->title( 'Chartio Example' )
            ->description( 'This is Chartio Example' )
            ->chartOptions(
                [
                    'chart' => [
                        'type' => 'arearange',
                        'zoomType' => 'x',
                        'scrollablePlotArea' => [
                            'minWidth' => 600,
                            'scrollPositionX' => 1,
                        ],
                    ],

                    'credits' => [
                        'enabled' => false,
                    ],

                    'title' => [
                        'text' => 'Temperature variation by day',
                    ],

                    'xAxis' => [
                        'type' => 'datetime',
                        'accessibility' => [
                            'rangeDescription' => 'Range: Jan 1st 2017 to Dec 31 2017.',
                        ],
                    ],

                    'yAxis' => [
                        'title' => [
                            'text' => null,
                        ],
                    ],

                    'tooltip' => [
                        'crosshairs' => true,
                        'shared' => true,
                        'valueSuffix' => '°C',
                        'xDateFormat' => '%A, %b %e',
                    ],

                    'legend' => [
                        'enabled' => false,
                    ],

                    'series' => [
                        [
                            'name' => 'Temperatures',
                            'data' => [
                                [
                                    1483232400000,
                                    1.4,
                                    4.7,
                                ],
                                [
                                    1483318800000,
                                    -1.3,
                                    1.9,
                                ],
                                [
                                    1483405200000,
                                    -0.7,
                                    4.3,
                                ],
                                [
                                    1483491600000,
                                    -5.5,
                                    3.2,
                                ],
                            ],
                        ],
                    ],
                ]
            )
            ->generate()
            ->save( Storage::path( 'chartio-example.png' ) );
```

export example:

[![exported chart image](https://github.com/farshidrezaei/chartio/raw/main/doc/abstract.png)](https://github.com/farshidrezaei/chartio/blob/main/doc/abstract.png)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Recently: every ~12 days

Total

13

Last Release

1616d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/39159567f8a54c452a911b722d524b66bd673c4cb02a4e989eaa8eb29d84eee0?d=identicon)[farshidrezaei](/maintainers/farshidrezaei)

![](https://www.gravatar.com/avatar/07572a5d8ee5461d503a45139802dac355442ce2ea3c25c7b41a371182136e9a?d=identicon)[lifeweb-ir](/maintainers/lifeweb-ir)

---

Top Contributors

[![farshidrezaei](https://avatars.githubusercontent.com/u/16887867?v=4)](https://github.com/farshidrezaei "farshidrezaei (23 commits)")

### Embed Badge

![Health badge](/badges/farshidrezaei-chartio/health.svg)

```
[![Health](https://phpackages.com/badges/farshidrezaei-chartio/health.svg)](https://phpackages.com/packages/farshidrezaei-chartio)
```

###  Alternatives

[mustache/mustache

A Mustache implementation in PHP.

3.3k44.6M291](/packages/mustache-mustache)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[mopa/bootstrap-bundle

Easy integration of twitters bootstrap into symfony2

7042.9M33](/packages/mopa-bootstrap-bundle)[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3871.2M](/packages/limenius-react-bundle)[symfony/ux-icons

Renders local and remote SVG icons in your Twig templates.

545.8M69](/packages/symfony-ux-icons)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
