前提・実現したいこと
laravelのこのsales_dataにあるindex.blade.phpというビューで
受け取る値を配列にしまして、
それをpie_chart.jsにわたしてるのですが、
本来円グラフのラベルの要素を「Tシャツ/カットソー」,「スウェット(セット)」,「デニムパンツ」,「パーカー」の4つにしたいのに
「Tシャツ/カットソー,スウェット(セット),デニムパンツ,パーカー」という1つの要素になってしまいます。
どこをどういじれば上手くいきますか?
該当のソースコード
php
1@extends('layouts.app') 2 3@section('content') 4 5 <h3>売上金額</h3> 6 7 <h3>{{ $sales_amount }}</h3> 8 9 <h3>アクセサリー売上金額</h3> 10 11 <h3>{{ $accessories_sales_amount }}</h3> 12 13 <h3>商品別売上ランキング</h3> 14 15 @if (count($categorys) > 0) 16 <ul> 17 <?php $category_names = array(); ?> 18 <?php $category_amounts = array(); ?> 19 @foreach ($categorys as $category) 20 <li>{{ $category->category_name }}</li> 21 <?php $category_names[] = $category->category_name; ?> 22 <li>{{ $category->category_total }}</li> 23 <?php $category_amounts[] = $category->category_total; ?> 24 @endforeach 25 </ul> 26 @endif 27 28 <canvas id="myPieChart"></canvas> 29 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.min.js"></script> 30 <script type="text/javascript"> 31 var category_names = '<?php echo implode(",", $category_names) ?>'; 32 </script> 33 <script type="text/javascript" src="js/pie_chart.js"></script> 34 35@endsection
js
1(function() { 2 // alert('sample'); 3 var ctx = document.getElementById("myPieChart"); 4 var myPieChart = new Chart(ctx, { 5 type: 'pie', 6 data: { 7 labels: [category_names], 8 datasets: [{ 9 backgroundColor: [ 10 "#BB5179", 11 "#FAFF67", 12 "#BB5179", 13 "#FAFF67" 14 ], 15 data: [10, 20, 30, 40] 16 }] 17 }, 18 options: { 19 title: { 20 display: true, 21 text: '種類別売上' 22 } 23 } 24 }); 25})();
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。