pjeutr/laravelvisjs

一个简单包,用于在Laravel 5.x中使用Visjs库方便和自动化图表的使用

1.0.1 2017-10-04 07:37 UTC

This package is not auto-updated.

Last update: 2024-09-25 03:04:32 UTC


README

一个简单包,用于在Laravel 5.x中使用Visjs方便和自动化(网络)图表的使用。

代码是从laravel-chartjs迁移过来的。

设置

composer require pjeutr/laravelvisjs

并在你的文件config/app.php中添加Service Provider

Pjeutr\LaravelVisJs\Providers\VisjsServiceProvider::class

最终,目前,你必须安装并将Visjs库添加到你的布局/模板中,这个库可以很容易地在http://visjs.org/找到下载。此设置也将得到改善。

用法

你可以请求服务容器中的构建图表的服务,并通过流式接口传递图表设置。

$service = app()->visjs
    ->name()
    ->type()
    ->size()
    ->datasets()
    ->options();

目前,构建者需要图表的名称、图表类型(可以是visjs支持的所有类型)和其他自定义配置,如数据集、大小和选项。

在数据集接口中,你可以传递任何配置和选项到你的图表。visjs文档中提供的所有选项都受到支持。只需用PHP数组表示法编写配置即可,它就会工作!

高级Visjs选项

由于当前版本允许添加基于简单JSON字符串的选项,因此无法生成如下选项:

    options: {
        scales: {
            xAxes: [{
                type: 'time',
                time: {
                    displayFormats: {
                        quarter: 'MMM YYYY'
                    }
                }
            }]
        }
    }

使用optionsRaw(string)方法可以以原始格式添加选项

        $chart->optionsRaw = "{
            legend: {
                display:false
            },
            scales: {
                xAxes: [{
                    gridLines: {
                        display:false
                    }  
                }]
            }
        }";

示例

1 - 网络图表

// ExampleController.php

$edges = [
    ["from" => 7905, "to" => "7886", "label" => 50068, "length" => 10],
    ["from" => -1, "to" => "7905", "label" => 100, "group" => 40]
];
$nodes = [
	["id" => -10, "shape" => "circularImage", "size" => 40, "color" => '#999', "borderWidth" => 1],
	["id" => 7905, "label" => "loyal", "value" => 500, "group" => 'big1'],
	["id" => 7886, "label" => "sensitive", "value" => 100, "group" => 'big2']
];

$visjs = app()->visjs
        ->name('networkChartTest')
        ->type('Network')
        ->size(['width' => 400, 'height' => 200])
        ->datasets(["nodes" => $nodes, "edges" => $edges])
        ->options([]);

return view('example', compact('visjs'));


 // example.blade.php

<div style="width:75%;">
    {!! $visjs->render() !!}
</div>

注意

这个README以及这个包都在开发中,但将会不断更新,并在准备就绪后立即通知您。感谢您的理解。

有任何问题或建议,请优先创建问题!

许可证

LaravelVisJs是开源软件,根据MIT许可证授权。