Chart.js在Laravel項(xiàng)目中的應(yīng)用示例
介紹
Chart.js是一個HTML5圖表庫,使用canvas元素來展示各式各樣的客戶端圖表,支持折線圖、柱形圖、雷達(dá)圖、餅圖、環(huán)形圖等, 本文將介紹如何在laravel項(xiàng)目中使用chart.js
安裝
可以通過以下命令在 npm 或 bower 中來安裝chart.js。
npm install chart.js --save bower install chart.js --save
可以在你的項(xiàng)目中使用 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下載的話,里面也有很多例子可以學(xué)習(xí)。
我這邊選擇的是下載了幾個js文件,然后放置于Laravel項(xiàng)目的public/js目錄下面,如下圖:
使用
在html中任何你希望的位置加入以下代碼, 這個canvas就是圖表的位置。:
<canvas id="my_chart" width="300" height="300"></canvas>
然后在controller中實(shí)現(xiàn)一個數(shù)據(jù)查詢的方法,且要返回一個json字符串, 具體的數(shù)據(jù)根據(jù)你的需求而定,這邊我只查了一組數(shù)據(jù),制作一個餅圖,也可以要多組數(shù)據(jù)制作折線圖,柱狀圖等。
public function GetChartData(){ $my_data = array(); array_push($today_data, VisitCapacity::where('my_data','>=', Carbon::today())->where('site',1)->count()); array_push($today_data, VisitCapacity::where('my_data','>=', Carbon::today())->where('site',2)->count()); array_push($today_data, VisitCapacity::where('my_data','>=', Carbon::today())->where('site',3)->count()); array_push($today_data, VisitCapacity::where('my_data','>=', Carbon::today())->where('site',4)->count()); Log::info(json_encode($my_data)); return $my_data; }
添加路由:
Route::get('get_chart_data', 'Member\UserController@GetChartData');
js實(shí)現(xiàn):
$.get('get_chart_data',function (data, status) { var ctx = document.getElementById("my_chart").getContext("2d"); var my_chart = new Chart(ctx,{ type: 'pie', data: { labels: [ "首頁文章列表", "分類文章列表", "文章詳情", "關(guān)于我", ], datasets: [{ data: data, backgroundColor: [ window.chartColors.red, window.chartColors.orange, window.chartColors.purple, window.chartColors.green, ], }] }, options: { responsive: true, } }); });
顏色的定義:
window.chartColors = { red: 'rgb(255, 99, 132)', orange: 'rgb(255, 159, 64)', yellow: 'rgb(255, 205, 86)', green: 'rgb(75, 192, 192)', blue: 'rgb(54, 162, 235)', purple: 'rgb(153, 102, 255)', grey: 'rgb(201, 203, 207)' };
結(jié)果如下圖:
將js中的type的值pie改成doughnut,結(jié)果如下圖:
更多的使用見官方文檔:http://chartjs.cn/docs/#line-chart-introduction
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 使用Chart.js圖表庫制作漂亮的響應(yīng)式表單
- Chart.js 輕量級HTML5圖表繪制工具庫(知識整理)
- 詳解Chart.js輕量級圖表庫的使用經(jīng)驗(yàn)
- 在 Angular 中使用Chart.js 和 ng2-charts的示例代碼
- 使用Vue.js 和Chart.js制作絢麗多彩的圖表
- ichart.js繪制虛線、平均分虛線效果的實(shí)現(xiàn)代碼
- vue集成chart.js的實(shí)現(xiàn)方法
- 利用ECharts.js畫K線圖的方法示例
- JavaScript Chart 插件整理
- 詳解vue文件中使用echarts.js的兩種方式
- vue.js+Echarts開發(fā)圖表放大縮小功能實(shí)例
- Chart.js功能與使用方法小結(jié)
相關(guān)文章
Yii學(xué)習(xí)總結(jié)之?dāng)?shù)據(jù)訪問對象 (DAO)
本文是YII學(xué)習(xí)總結(jié)系列文章的第二篇,主要向我們介紹了數(shù)據(jù)訪問對象(DAO),十分的詳細(xì),有需要的小伙伴參考下2015-02-02php 網(wǎng)上商城促銷設(shè)計(jì)實(shí)例代碼
前一篇文章講的是購物車的設(shè)計(jì),這篇來講下關(guān)于促銷的。支持的促銷類似于,打折,買幾贈幾,滿多少錢送禮品等等。用到策略模式2012-02-02PHP連接和操作MySQL數(shù)據(jù)庫基礎(chǔ)教程
這篇文章主要介紹了PHP連接和操作MySQL數(shù)據(jù)庫基礎(chǔ)教程,本文講解了mysql擴(kuò)展、連接數(shù)據(jù)庫、與數(shù)據(jù)庫交互等內(nèi)容,需要的朋友可以參考下2014-09-09php-fpm重啟導(dǎo)致的程序執(zhí)行中斷問題詳解
這篇文章主要給大家介紹了關(guān)于php-fpm重啟導(dǎo)致的程序執(zhí)行中斷問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04thinkphp5引入公共部分header、footer的方法詳解
小編做的項(xiàng)目需要在項(xiàng)目中需要用到引入公共導(dǎo)航、頭部、底部、右邊部分等等,接下來通過本文給大家介紹thinkphp5引入公共部分header、footer的方法 ,需要的朋友可以參考下2018-09-09