llabbasmkhll / laravel-sparkline
在您的laravel应用程序中生成小图表和sparklines
Requires
- php: 8.*
- ext-gd: *
- intervention/image: ^2.7
- laravel/framework: 5.*|6.*|7.*|8.*|9.*
Requires (Dev)
- orchestra/testbench: 6.0
This package is auto-updated.
Last update: 2024-08-27 19:08:30 UTC
README
轻松地在您的laravel应用程序中生成小图表和sparklines。
此包可以帮助您将股票价格、货币、加密货币等数据绘制成图像,添加到laravel应用程序中。
它使用image intervention和PHP 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');
注意
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');
背景
使用backgorund
函数设置背景颜色。默认为透明。
$red = 250; $green = 70; $blue = 70; $alpha = 0.2; Sparkline::data($metrics)->backgound($red, $green, $blue, $alpha)->render()->response('png');
填充
要填充sparkline,请使用fill
函数。默认为透明。
$red = 250; $green = 70; $blue = 70; $alpha = 0.2; Sparkline::data($metrics)->fill($red, $green, $blue, $alpha)->render()->response('png');
粗细
通过调用thickness
来设置线条粗细
Sparkline::data($metrics)->thikness(3)->render()->response('png');
渐变
默认情况下,sparkline在开始处使用渐变色。要自定义,请使用fade
。
Sparkline::data($metrics)->fade(0.2)->render()->response('png');
大小
要更改sparkline的大小,请使用size
。默认高度为80px,宽度为200px。
$width = 500; $height = 100; Sparkline::data($metrics)->size($width, $height)->render()->response('png');
使用width
和heigt
分别更改大小。
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