Lavacharts is a graphing / charting library for PHP 5.4+ that wraps Google's Javascript Chart API.
OTHER License
Bot releases are hidden (Show)
This should fix the composer 2 blocker of the RenderableTrait
issue #322
Published by kevinkhill about 4 years ago
This version freeze is needed to fix some bugs when using the current
version
Fixes #330
Published by kevinkhill about 5 years ago
This should free everyone from Carbon version issues. (hopefully!!)
Fixing #302
Published by kevinkhill about 6 years ago
Disscused and fixed in issue #256
Thanks NelsonBaez
Published by kevinkhill over 6 years ago
Laravel 5.5+ installs should now automatically be discovered and registered.
Published by kevinkhill almost 7 years ago
Fixed a bug in setOptions
that prevented png
and material
options from being processed and assigned to the chart.
Published by kevinkhill about 7 years ago
I keep forgetting to do a prod build before releasing, sorry!
Nobody likes console log flood?
Published by kevinkhill about 7 years ago
Added the tag lavacharts
to the config publishing.
Use php artisan vendor:publish --tag=lavacharts
If that does not work, try to clear the cache with php artisan config:clear
and re-publish with --force
.
Published by kevinkhill over 7 years ago
The event callback within lava.js was modified to pass back the chart and the datatable so users can interact with either during an event. This solves issue #203
Published by kevinkhill over 7 years ago
Chart's should resize properly on page resize.
Published by kevinkhill over 7 years ago
null
which enables support for Gantt charts to have linked sections.JavascriptDate
class which is an (hacky) alias for the Javascript Date object. (I really just wanted to be able to copy and paste Google examples into my tests and DataTables)Short Example:
use Khill\Lavacharts\Support\JavascriptDate as Date;
$daysToMilliseconds = function ($days) {
return $days * 24 * 60 * 60 * 1000;
};
$data = $lava->DataTable();
$data->addColumn('string', 'Task ID');
$data->addColumn('string', 'Task Name');
$data->addColumn('date', 'Start Date');
$data->addColumn('date', 'End Date');
$data->addColumn('number', 'Duration');
$data->addColumn('number', 'Percent Complete');
$data->addColumn('string', 'Dependencies');
$data->addRows([
['Research', 'Find sources',
new Date(2015, 0, 1), new Date(2015, 0, 5), null, 100, null],
['Write', 'Write paper',
null, new Date(2015, 0, 9), $daysToMilliseconds(3), 25, 'Research,Outline'],
['Cite', 'Create bibliography',
null, new Date(2015, 0, 7), $daysToMilliseconds(1), 20, 'Research'],
['Complete', 'Hand in paper',
null, new Date(2015, 0, 10), $daysToMilliseconds(1), 0, 'Cite,Write'],
['Outline', 'Outline paper',
null, new Date(2015, 0, 6), $daysToMilliseconds(1), 100, 'Research']
]);
Published by kevinkhill over 7 years ago
Releasing the Symfony Bundle (again) to re-enable support for all the new chart types and the renderAll
Published by kevinkhill over 7 years ago
I don't know how I accidentally removed the Symfony folder, but it's back now.
Published by kevinkhill over 7 years ago
I have had this "ready" for months but have procrastinated long enough. I will fix bugs as they arise, but there have been advancements that are worth releasing.
Published by kevinkhill over 7 years ago
Here is a short example of the usage of the 'domain' role:
/**
* Example implementation of the 'domain' column role:
*
* @link https://developers.google.com/chart/interactive/docs/roles
*
* label: '2009, Quarter', '2009, Sales', '2009, Expenses', '2008, Quarter', '2008, Sales', '2008, Expenses'
* role: domain, data, data, domain, data, data
* 'Q1/09', 1000, 400, 'Q1/08', 800, 300
* 'Q2/09', 1170, 460, 'Q2/08', 750, 400
* 'Q3/09', 660, 1120, 'Q3/08', 700, 540
* 'Q4/09', 1030, 540, 'Q4/08', 820, 620
*
*/
use \Khill\Lavacharts\Lavacharts;
$lava = new Lavacharts;
$table = $lava->DataTable();
$table->addStringColumn('2009, Quarter', null, 'domain')
->addNumberColumn('2009, Sales')
->addNumberColumn('2009, Expenses')
->addStringColumn('2008, Quarter', null, 'domain')
->addNumberColumn('2008, Sales')
->addNumberColumn('2008, Expenses')
->addRow(['Q1/09', 1000, 400, 'Q1/08', 800, 300])
->addRow(['Q2/09', 1170, 460, 'Q2/08', 750, 400])
->addRow(['Q3/09', 660, 1120, 'Q3/08', 700, 540])
->addRow(['Q4/09', 1030, 540, 'Q4/08', 820, 620]);
$lava->LineChart('Money', $table, [
'width'=> 400,
'height'=> 240,
'legend'=>'right',
'focusTarget'=> 'category'
]);
Published by kevinkhill over 7 years ago
Adding support for objects that implement Traversable and ArrayAccess to be passed into the addRows()
method
Published by kevinkhill over 7 years ago
Refactored the LavachartsServiceProvider to use singleton
over share
since it was removed in Laravel 5.4
Published by kevinkhill almost 8 years ago
Fixed the missing ")" bug. Defensively removing the "()" as well to support version Laravel 5.3 and below.
Published by kevinkhill over 8 years ago
Fixing bug where TreeMap was not in list of chartClasses
Published by kevinkhill over 8 years ago