llabbasmkhll/laravel-sparkline

在您的laravel应用程序中生成小图表和sparklines

v1.1 2022-05-27 12:04 UTC

This package is auto-updated.

Last update: 2024-08-27 19:08:30 UTC


README

轻松地在您的laravel应用程序中生成小图表和sparklines。
此包可以帮助您将股票价格、货币、加密货币等数据绘制成图像,添加到laravel应用程序中。
它使用image interventionPHP gd来生成图像。



安装

composer require llabbasmkhll/laravel-sparkline


使用方法

要使用sparkline,您只需要将您想要绘制的数字提供给data函数,并像下面这样渲染图表。

$metrics = [76, 80, 50, 62, 32, 55, 42, 5, 10, 2, 22, 5, 6, 26, 25, 55, 40, 32, 55, 42, 5, 10, 2, 22, 56];

return Sparkline::data($metrics)->render()->response('png');

这将生成一个像这样的sparkline
sparkline

注意

render()将返回一个Intervention\Image对象。更多信息请参考image intervention
如果您不想阅读intervention文档,只需使用->response('png')将sparkline返回给浏览器。
或者->save('public/fou.jpg')保存sparkline。



自定义

颜色

线

使用color函数设置sparkline的颜色。默认为黄色。

$red   = 250;
$green = 100;
$blue  = 100;
$alpha = 1;

Sparkline::data($metrics)->color($red, $green, $blue, $alpha)->render()->response('png');

d8l94xyhh

背景

使用backgorund函数设置背景颜色。默认为透明。

$red   = 250;
$green = 70;
$blue  = 70;
$alpha = 0.2;

Sparkline::data($metrics)->backgound($red, $green, $blue, $alpha)->render()->response('png');

KTGrO6VsI

填充

要填充sparkline,请使用fill函数。默认为透明。

$red   = 250;
$green = 70;
$blue  = 70;
$alpha = 0.2;

Sparkline::data($metrics)->fill($red, $green, $blue, $alpha)->render()->response('png');

a4OK4h092

粗细

通过调用thickness来设置线条粗细

Sparkline::data($metrics)->thikness(3)->render()->response('png');

z_qh8IEhz

渐变

默认情况下,sparkline在开始处使用渐变色。要自定义,请使用fade

Sparkline::data($metrics)->fade(0.2)->render()->response('png');

FCRHK8Zpq
1.0为最大渐变,0.0为无渐变

大小

要更改sparkline的大小,请使用size。默认高度为80px,宽度为200px。

$width = 500;
$height = 100;

Sparkline::data($metrics)->size($width, $height)->render()->response('png');

9Sbe60Lvx

使用widthheigt分别更改大小。

Sparkline::data($metrics)->width(400)->render()->response('png');

Sparkline::data($metrics)->height(100)->render()->response('png');

Sparkline::data($metrics)->width(300)->height(80)->render()->response('png');


示例

SparklineController.php

class SparklineController extends Controller
{
    public function index(Currency $currency)
    {
        $metrics   = Coingecko::getMetrics($currency->code);
        $sparkline = Sparkline::data($metrics);

        if ($metrics[0] - end($metrics) > 0) {
            $sparkline->color(250, 100, 100);
        } elseif ($metrics[0] - end($metrics) < 0) {
            $sparkline->color(100, 250, 100);
        }

        return $sparkline->render()->response('png');
    }
}

web.php

Route::get('/currencies/{currency}/sparkline.png', [SparklineController::class, 'index'])->name('currencies.sparkline');


贡献

贡献使开源社区成为学习、灵感和创造的地方。您所做出的任何贡献都非常受赞赏



许可证

在MIT许可证下分发。有关更多信息,请参阅LICENSE



联系方式

Abbas mkhzomi - Telegram@llabbasmkhll - llabbasmkhll@gmail.com

项目链接: https://github.com/llabbasmkhll/laravel-sparkline