我试着根据数据库表中存储的数据显示条形图,如下图所示,下图仅用于说明
1.路线
Route::get('/chart', 'ChartController@index');
Route::get('/chart', 'ChartController@chart');
1.控制器
public function index()
{
return view('chart.index');
}
public function chart()
{
$result = DB::table('agreement')->select('val_agrement')->get();
return response()->json($result);
}
1.叶片样板
@extends('adminlte::page')
@section('content')
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.3/css/bootstrap-select.min.css">
<body>
<div class="row">
<div class="col-md-10 col-md-offset-1">
<div class="panel panel-default">
<div class="panel-heading"><b>CHART</b></div>
<div class="panel-body">
<canvas id="canvas" height="300" width="700"></canvas>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.3/js/bootstrap-select.min.js" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.bundle.js" charset="utf-8"></script>
<script>
var url = "{{url('chart')}}";
var ctx = document.getElementById("canvas").getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels:VALUEA,
datasets: [{
label: 'VALUEA',
data: valuea,
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero:true
}
}]
}
}
});
</script>
@endsection
如何在laravel中创建图表,到目前为止,我的代码如上。谢谢
我很抱歉,在这里很难写blade代码。
2条答案
按热度按时间js5cn81o1#
建议?将Vue.js组件与Chart.js一起使用。类似的内容可能会对您有所帮助。
路由/web.php
图表控制器
您的组件.vue
您的刀片服务器。刀片服务器。php
xkrw2x1b2#
在刀片文件中:
在您的js: