Sparkline
Sparkline copied to clipboard
PHP Class (using GD) to generate sparklines
Sparkline
PHP Class (using GD) to generate sparklines
Installation
This page contains information about installing the Library for PHP.
Requirements
- PHP version 7.0.0 or greater
- The GD PHP extension
- The MBString PHP extension
Using Composer
You can install the library by adding it as a dependency to your composer.json.
$ composer require davaxi/sparkline
or
"require": {
"davaxi/sparkline": "^2.2"
}
For PHP >= 5.4.0
Show https://github.com/davaxi/Sparkline/tree/1.2.3
Usage
Example:

<?php
require '/path/to/sparkline/folder/autoload.php';
$sparkline = new Davaxi\Sparkline();
$sparkline->setData(array(2,4,5,6,10,7,8,5,7,7,11,8,6,9,11,9,13,14,12,16));
$sparkline->display();
?>
Documentation
$sparkline = new Davaxi\Sparkline();
// Change format (Default value 80x20)
$sparkline->setFormat('100x40');
// or
$sparkline->setWidth(100);
$sparkline->setHeight(40);
// Apply padding
$sparkline->setPadding('10'); // > top: 10 | right: 10 | bottom: 10 | left: 10
$sparkline->setPadding('10 20'); // > top: 10 | right: 20 | bottom: 10 | left: 20
$sparkline->setPadding('10 20 30'); // > top: 10 | right: 20 | bottom: 30 | left: 20
$sparkline->setPadding('10 20 30 40'); // > top: 10 | right: 20 | bottom: 30 | left: 40
// Change background color (Default value #FFFFFF)
$sparkline->setBackgroundColorHex('#0f354b');
// or
$sparkline->setBackgroundColorRGB(15, 53, 75);
// or
$sparkline->deactivateBackgroundColor();
// Change line color (Default value #1388db)
$sparkline->setLineColorHex('#1c628b');
// or
$sparkline->setLineColorRGB(28, 98, 139);
// Change line thickness (Default value 1.75 px)
$sparkline->setLineThickness(2.2);
// Change fill color (Default value #e6f2fa)
$sparkline->setFillColorHex('#8b1c2b');
// or
$sparkline->setFillColorRGB(139, 28, 43);
// or for specific series
$sparkline->deactivateFillColor();
// or for all series
$sparkline->deactivateAllFillColor();
$sparkline->setData(array(.....)); // Set data set
$sparkline->getData(); // Get seted data
$sparkline->generate(); // If you want regenerate picture
// Change base of height value (default max($data))
$sparkline->setBase(20);
// Change origin of chart value (yAxis) (default: 0)
$sparkline->setOriginValue(40);
// Add dot on first/last/minimal/maximal value
// Data set before used method
$sparkline->addPoint('minimum', 3, '#efefef');
$sparkline->addPoint('maximum', 3, '#efefef');
$sparkline->addPoint('first', 3, '#efefef');
$sparkline->addPoint('last', 3, '#efefef');
// Or by index
$sparkline->addPoint(1, 3, '#efefef');
// If display
$sparkline->setEtag('your hash'); // If you want add ETag header
$sparkline->setFilename('yourPictureName'); // For filename header
$sparkline->setExpire('+1 day'); // If you want add expire header
// or
$sparkline->setExpire(strtotime('+1 day'));
$sparkline->display(); // Display with correct headers
// If save
$sparkline->save('/your/path/to/save/picture');
$sparkline->destroy(); // Destroy picture after generated / displayed / saved
Multiple sparkline series
<?php
$sparkline = new Davaxi\Sparkline();
// For add series
$sparkline->addSeries([0,1,2,3]);
$sparkline->addSeries([2,3,5,6]);
// Or
$sparkline->setData(
[0,1,2,3],
[2,3,5,6]
);
// For add point on series
$sparkline->addPoint('first', 3, '#efefef', 0); // Add point on series 0
$sparkline->addPoint('last', 3, '#efefef', 1); // Add point on series 1
// For fill colors, specify on last argument series index's
$sparkline->setFillColorHex('#8b1c2b', 0);
$sparkline->setFillColorHex('#8bdddf', 1);
// or
$sparkline->setFillColorRGB(139, 28, 43, 0);
$sparkline->setFillColorRGB(139, 28, 55, 1);
// For line colors, specify on last argument series index's
$sparkline->setLineColorHex('#1c628b', 0);
$sparkline->setLineColorHex('#1c62df', 1);
// or
$sparkline->setLineColorRGB(28, 98, 139, 0);
$sparkline->setLineColorRGB(28, 98, 55, 1);