marineusde / larapex-charts
Package to provide easy api to build apex charts on Laravel
Installs: 5 785
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 0
Forks: 4
Open Issues: 0
Requires
- php: ^8.2
- ext-json: *
- illuminate/support: ^11.44|^v12.7
Requires (Dev)
- larastan/larastan: ^3.3
- laravel/pint: ^1.21
- nunomaduro/collision: ^8.7
- orchestra/testbench: ^10.2
- phpunit/phpunit: ^11.5
- dev-master
- 1.5.1
- 1.5.0
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2
- 1.1
- 1.0
- dev-composer-update
- dev-laravel-12
- dev-bugfix-xaxis-option-test
- dev-bugfix-chart-make-with-xaxis
- dev-set-xaxis-with-class
- dev-bugfix-grid-option
- dev-set-grid-with-class
- dev-bugfix-additional-options
- dev-additional-options-with-setter
- dev-code-style-fix
- dev-disable-animations
- dev-fix-charts-without-y-axis
- dev-laravel11
- dev-fixed-make-chart
- dev-provider-name-in-composer-json
- dev-configuration-of-y-axis
- dev-using-static-instead-of-self
- dev-refactoring-code
- dev-renaming-phpunit-configuration
- dev-code-style-and-checks
- dev-ignoring-dev-folders
- dev-composer-updates
- dev-new-repository
- dev-php-update-to-fix-pipeline-problems
- dev-configuration-for-visibility-of-the-legend
- dev-using-code-test-tools-and-refactoring
- dev-ignoring-idea-folder
This package is auto-updated.
Last update: 2025-06-07 05:59:41 UTC
README
A Laravel wrapper for apex charts library.
Why should I use a fork?
- The maintainer of the original package is not really active. To many developers are waiting for a new release. I will try to keep this package up to date.
- Using phpstan and cs-fixer for better code
- I added more options for xaxis, yaxis, grid options chart animations with real classes and not just arrays
Installation
Use composer.
composer require marineusde/larapex-charts
Usage
Basic example
In your controller add:
$chart = (new LarapexChart)->setTitle('Posts') ->setDataset([150, 120]) ->setLabels(['Published', 'No Published']);
Remember to import the Facade to your controller with
use marineusde\LarapexCharts\Facades\LarapexChart;
Or importing the LarapexChart class:
use marineusde\LarapexCharts\LarapexChart;
Then in your view (Blade file) add:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Chart Sample</title> </head> <body> {!! $chart->container() !!} <script src="{{ $chart->cdn() }}"></script> {{ $chart->script() }} </body> </html>
The $chart must be an object of LarapexChart, not the controller or class that create it.
More complex example
$chart = (new AreaChart) ->setTitle('Total Users Monthly') ->setSubtitle('From January to March') ->setXAxisOptions(new XAxisOption([ 'Jan', 'Feb', 'Mar' ])) ->setDataset([ [ 'name' => 'Active Users', 'data' => [250, 700, 1200] ] ]);
You can create a variety of charts including: Line, Area, Bar, Horizontal Bar, Heatmap, pie, donut and Radialbar.
Better using with vite
Its better to use vite (or other plugins of this kind) for your projects, cause you cant get problems with version conflicts of apex charts:
- install npm
- install vite and vite-plugin-static-copy with npm
- copy the code in the vite.config.js
import {defineConfig, normalizePath} from 'vite';
import { viteStaticCopy } from "vite-plugin-static-copy";
export default defineConfig({
plugins: [
viteStaticCopy({
targets: [
{
src: 'node_modules/apexcharts/dist/apexcharts.js',
dest: 'js'
}
]
})
]
});
run: npm run build
now you can use the js file in your blade files:
<script src="{{ asset('build/js/apexcharts.js') }}"></script>
Contributing
The author is Henning Zimmermann.