PHP code example of icehouse-ventures / laravel-chartjs
1. Go to this page and download the library: Download icehouse-ventures/laravel-chartjs library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
icehouse-ventures / laravel-chartjs example snippets
IcehouseVentures\LaravelChartjs\Providers\ChartjsServiceProvider::class
use IcehouseVentures\LaravelChartjs\Facades\Chartjs;
$chart = Chartjs::build()
->name()
->type()
->size()
->labels()
->datasets()
->options();
$chart->options([
'scales' => [
'x' => [
'title' => [
'display' => true,
'text' => 'X Axis Title'
],
]
]
]);
$chart->optionsRaw("{
scales: {
x: {
title: {
display: true,
text: 'X Axis Title',
}
}
},
plugins: {
title: {
display: true,
text: 'Chart Title',
font: {
size: 16
}
},
legend: {
display: false,
},
}
}");
// Controller CExampleController.php
use IcehouseVentures\LaravelChartjs\Facades\Chartjs;
$chart = Chartjs::build()
->name('lineChartTest')
->type('line')
->size(['width' => 400, 'height' => 200])
->labels(['January', 'February', 'March', 'April', 'May', 'June', 'July'])
->datasets([
[
"label" => "My First dataset",
'backgroundColor' => "rgba(38, 185, 154, 0.31)",
'borderColor' => "rgba(38, 185, 154, 0.7)",
"pointBorderColor" => "rgba(38, 185, 154, 0.7)",
"pointBackgroundColor" => "rgba(38, 185, 154, 0.7)",
"pointHoverBackgroundColor" => "#fff",
"pointHoverBorderColor" => "rgba(220,220,220,1)",
"data" => [65, 59, 80, 81, 56, 55, 40],
"fill" => false,
],
[
"label" => "My Second dataset",
'backgroundColor' => "rgba(38, 185, 154, 0.31)",
'borderColor' => "rgba(38, 185, 154, 0.7)",
"pointBorderColor" => "rgba(38, 185, 154, 0.7)",
"pointBackgroundColor" => "rgba(38, 185, 154, 0.7)",
"pointHoverBackgroundColor" => "#fff",
"pointHoverBorderColor" => "rgba(220,220,220,1)",
"data" => [12, 33, 44, 44, 55, 23, 40],
"fill" => false,
]
])
->options([]);
return view('example', compact('chart'));
// Blade example.blade.php
<div style="width:75%;">
<x-chartjs-component :chart="$chart" />
</div>
// Controller ExampleController.php
use IcehouseVentures\LaravelChartjs\Facades\Chartjs;
$chart = Chartjs::build()
->name('barChartTest')
->type('bar')
->size(['width' => 400, 'height' => 200])
->labels(['Label x', 'Label y'])
->datasets([
[
"label" => "My First dataset",
'backgroundColor' => ['rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)'],
'data' => [69, 59]
],
[
"label" => "My First dataset",
'backgroundColor' => ['rgba(255, 99, 132, 0.3)', 'rgba(54, 162, 235, 0.3)'],
'data' => [65, 12]
]
])
->options([
"scales" => [
"y" => [
"beginAtZero" => true
]
]
]);
return view('example', compact('chart'));
// Blade example.blade.php
<div style="width:75%;">
<x-chartjs-component :chart="$chart" />
</div>
// Controller ExampleController.php
use IcehouseVentures\LaravelChartjs\Facades\Chartjs;
$chart = Chartjs::build()
->name('pieChartTest')
->type('pie')
->size(['width' => 400, 'height' => 200])
->labels(['Label x', 'Label y'])
->datasets([
[
'backgroundColor' => ['#FF6384', '#36A2EB'],
'hoverBackgroundColor' => ['#FF6384', '#36A2EB'],
'data' => [69, 59]
]
])
->options([]);
return view('example', compact('chart'));
// Blade example.blade.php
<div style="width:75%;">
<x-chartjs-component :chart="$chart" />
</div>
// Inside your Livewire blade component: example-livewire-chart-demo.blade.php
<div class="main">
<div class="chart-container">
<x-chartjs-component :chart="$chart" />
</div>
</div>
// Inside your Livewire php component: ExampleLivewireChartDemo.php
use IcehouseVentures\LaravelChartjs\Facades\Chartjs;
class ExampleLivewireChartDemo extends Component
{
public $datasets;
#[Computed]
public function chart()
{
return Chartjs::build()
->name("UserRegistrationsChart")
->livewire()
->model("datasets")
->type("line");
}
public function render()
{
$this->getData();
return view('livewire.example-livewire-chart-demo');
}
public function getData()
{
$data = []; // your data here
$labels = []; // your labels here
$this->datasets = [
'datasets' => [
[
"label" => "User Registrations",
"backgroundColor" => "rgba(38, 185, 154, 0.31)",
"borderColor" => "rgba(38, 185, 154, 0.7)",
"data" => $data
]
],
'labels' => $labels
]
}
}
// Controller ExampleController.php
$chartjs = app()->chartjs
->name('pieChartTest')
->type('pie')
->size(['width' => 400, 'height' => 200])
->labels(['Label x', 'Label y'])
->datasets([
[
'backgroundColor' => ['#FF6384', '#36A2EB'],
'hoverBackgroundColor' => ['#FF6384', '#36A2EB'],
'data' => [69, 59]
]
])
->options([]);
return view('example', compact('chartjs'));
// Blade example.blade.php
<div style="width:75%;">
{!! $chartjs->render() !!}
</div>
bash
php artisan vendor:publish --provider="IcehouseVentures\LaravelChartjs\Providers\ChartjsServiceProvider" --tag="config"
bash
// Publish Chartjs version 4 assets
php artisan vendor:publish --provider="IcehouseVentures\LaravelChartjs\Providers\ChartjsServiceProvider" --force --tag="assets"
// Publish Chartjs version 3 assets
php artisan vendor:publish --provider="IcehouseVentures\LaravelChartjs\Providers\ChartjsServiceProvider" --force --tag="assets-v3"
// Publish Chartjs version 2 assets
php artisan vendor:publish --provider="IcehouseVentures\LaravelChartjs\Providers\ChartjsServiceProvider" --force --tag="assets-v2"
bash
php artisan vendor:publish --provider="IcehouseVentures\LaravelChartjs\Providers\ChartjsServiceProvider" --tag="views" --force