首頁  >  文章  >  後端開發  >  Laravel專案中關於Chart.js的使用詳解

Laravel專案中關於Chart.js的使用詳解

黄舟
黄舟原創
2017-09-11 09:09:462486瀏覽

本篇文章主要介紹了Chart.js在Laravel專案中的應用範例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧

介紹

Chart.js是一個HTML5圖表函式庫,使用canvas元素來展示各式各樣的客戶端圖表,支援折線圖、長條圖、雷達圖、圓餅圖、環形圖等, 本文將介紹如何在laravel專案中使用chart.js

安裝

可以透過以下命令在npm 或bower 中來安裝chart.js。


npm install chart.js --save
bower install chart.js --save

可以在你的專案中使用 CDN link。


https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.bundle.js
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.bundle.min.js
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.js
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js

可以從GitHub裡面下載最新版本的 Chart.js 從github下載的話,裡面也有很多例子可以學習。

我這邊選擇的是下載了幾個js文件,然後放置在Laravel專案的public/js目錄下面,如下圖:

使用

在html中任何你希望的位置加入以下程式碼, 這個canvas就是圖表的位置。 :


<canvas id="my_chart" width="300" height="300"></canvas>

然後在controller中實作一個資料查詢的方法,且要傳回一個json字串, 具體的資料根據你的需求而定,這邊我只查了一組數據,製作一個圓餅圖,也可以要多組數據製作折線圖,長條圖等。


  public function GetChartData(){
    $my_data = array();
    array_push($today_data, VisitCapacity::where(&#39;my_data&#39;,&#39;>=&#39;, Carbon::today())->where(&#39;site&#39;,1)->count());
    array_push($today_data, VisitCapacity::where(&#39;my_data&#39;,&#39;>=&#39;, Carbon::today())->where(&#39;site&#39;,2)->count());
    array_push($today_data, VisitCapacity::where(&#39;my_data&#39;,&#39;>=&#39;, Carbon::today())->where(&#39;site&#39;,3)->count());
    array_push($today_data, VisitCapacity::where(&#39;my_data&#39;,&#39;>=&#39;, Carbon::today())->where(&#39;site&#39;,4)->count());
    Log::info(json_encode($my_data));
    return $my_data;
  }

新增路由:


 Route::get(&#39;get_chart_data&#39;, &#39;Member\UserController@GetChartData&#39;);

js實作:


$.get(&#39;get_chart_data&#39;,function (data, status) {
var ctx = document.getElementById("my_chart").getContext("2d");
      var my_chart = new Chart(ctx,{
        type: &#39;pie&#39;,
        data: {
          labels: [
            "首页文章列表",
            "分类文章列表",
            "文章详情",
            "关于我",
          ],
          datasets: [{
            data: data,
            backgroundColor: [
              window.chartColors.red,
              window.chartColors.orange,
              window.chartColors.purple,
              window.chartColors.green,
            ],
          }]
        },
        options: {
          responsive: true,
        }
      });
});

顏色的定義:


window.chartColors = {
  red: &#39;rgb(255, 99, 132)&#39;,
  orange: &#39;rgb(255, 159, 64)&#39;,
  yellow: &#39;rgb(255, 205, 86)&#39;,
  green: &#39;rgb(75, 192, 192)&#39;,
  blue: &#39;rgb(54, 162, 235)&#39;,
  purple: &#39;rgb(153, 102, 255)&#39;,
  grey: &#39;rgb(201, 203, 207)&#39;
};

結果如下圖:

將js中的type的值pie改成doughnut,結果如下圖:

#

以上是Laravel專案中關於Chart.js的使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn