홈>
아래 그림과 같이 데이터베이스 테이블에 저장된 데이터를 기준으로 막대 차트를 표시하려고합니다.
<올>Route::get('/chart', '[email protected]');
Route::get('/chart', '[email protected]');
- 컨트롤러
public function index()
{
return view('chart.index');
}
public function chart()
{
$result = DB::table('agreement')->select('val_agrement')->get();
return response()->json($result);
}
- 블레이드 템플릿
@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
라 라벨에서 차트를 만드는 방법은 지금까지 위의 코드와 같습니다. 감사합니다
죄송합니다. 여기에 블레이드 코드를 작성하기가 어렵습니다.
- 답변 # 1
- 답변 # 2
블레이드 파일에서 :
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://code.highcharts.com/highcharts.js"></script> <script src="https://code.highcharts.com/modules/exporting.js"></script> <script src="https://code.highcharts.com/modules/export-data.js"></script> <div id="chart_div" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
JS에서 :
function myChart (data) { $('#chart_div').highcharts({ chart: { type: 'column' }, title: { text: 'Stacked column chart' }, xAxis: { categories: [1,2,3,4,5,6,7,8,9,10,11,12] }, yAxis: { min: 0, title: { text: 'Total fruit consumption' }, stackLabels: { enabled: true, style: { fontWeight: 'bold', color: ( // theme Highcharts.defaultOptions.title.style && Highcharts.defaultOptions.title.style.color ) || 'gray' } } }, legend: { align: 'right', x: -30, verticalAlign: 'top', y: 25, floating: true, backgroundColor: Highcharts.defaultOptions.legend.backgroundColor || 'white', borderColor: '#CCC', borderWidth: 1, shadow: false }, tooltip: { headerFormat: '<b>{point.x}</b><br/>', pointFormat: '{series.name}: {point.y}<br/>Total: {point.stackTotal}' }, plotOptions: { column: { stacking: 'normal' } }, series: [{ name: 'John', data: [5000, 20000, 30000, 10000, 30000, 50000, 23000, 44000, 42000, 30000, 22000, 43000] }] }); } $(document).ready(function() { $.ajax({ url: 'your_data_route', type: 'GET', async: true, dataType: "json", success: function (data) { myChart(data); } }); });
여기 데모 jsFiddle이 있습니다. 데모 js 바이올린
관련 질문
- Laravel, 내 home.blade.php에 관련 테이블의 관련 이름을 표시하는 방법은 무엇입니까?
- php : laravel에서 mysql로의 진행 중인 쿼리가 진행되는 동안 페이지를 다시 로드하면 전체 실행이 중지됩니까?
- php : Laravel 419 csrf 토큰 불일치 오류, 포스트 데이터 오류
- php : 피벗 테이블 데이터 가져오기
- php : Laravel Storage:put을 사용하여 새 줄로 구분된 값으로 배열을 출력하는 방법:put
- php : 라라벨 FTPES 연결
- php : Eloquent 모델을 어떻게 동적으로 사용하고 변수에서 웅변 함수를 호출할 수 있습니까?
- php : Laravel 로그인 게시 방법은 빈 페이지로 리디렉션됩니다.
- php : Laravel : 체크박스를 만드는 방법
- php : Laravel If=== 문이 localhost에서는 작동하지만 서버에서는 작동하지 않습니다.
추천? Chart.js와 함께 Vue.js 컴포넌트를 사용하십시오. 이와 같은 것이 도움이 될 수 있습니다.
경로 /web.php
ChartController
YourComponent.vue
your-blade.blade.php