Chart.js 使用示例
從MySql 資料庫中獲取資料 ,利用chart.js 繪製柱形圖。
檔案結構:
1.index.php檔案。從資料庫獲取資料。先連線資料庫exercisedata,然後從資料庫的users表中查詢學生名字userName和學生的成績score,並給userName和score取別名label和value,以符合chart.js中繪製圖形時需要的資料格式。執行sql語句後,把結果以json格式返回。程式碼如下:
<span style="font-size:18px;"> <?php //資料庫配置 $dbconf= array( 'host'=>'127.0.0.1', 'user'=>'root', 'password'=>'123456',//因為測試,我就不設定密碼,實際開發中,必須建立新的使用者並設定密碼 'dbName'=>'exercisedata', 'charSet'=>'utf8', 'port'=>'3306' ); function openDb($dbConf){ $conn=mysqli_connect($dbConf['host'],$dbConf['user'],$dbConf['password'],$dbConf['dbName'],$dbConf['port']) or die('開啟失敗'); //當然如上面不填寫資料庫也可通過mysqli_select($conn,$dbConf['dbName'])來選擇資料庫 mysqli_set_charset($conn,$dbConf['charSet']);//設定編碼 return $conn; } $conn=openDb($dbconf); //2query方法執行增、查、刪、改 $sql='SELECT userName as `label`, score as `value` FROM exercisedata.users'; /*************資料查詢***************************/ $rs=$conn->query($sql); $data=array();//儲存資料 while($tmp=mysqli_fetch_assoc($rs)){//每次從結果集中取出一行資料 $data[]=$tmp; } //對資料進行相應的操作 echo json_encode($data);</span>
資料庫中的users
訪問http://localhost/test/php/index.php 得到如下結果:
則說明資料庫連線成功。
2.index.html檔案。在<script></script>中引入Chart.js庫、index.js檔案, Chart.js是一個簡單、面向物件、為設計者和開發者準備的圖表繪製工具庫。在body標籤中新增一個canvas標籤,用來顯示視覺化柱形圖。程式碼如下:
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta http-equiv="Content-Type" charset="UTF-8" /> <title>案例顯示</title> <!-- <link rel="stylesheet" href="../css/ranking.css" /> --> <style type="text/css"> * { margin: 0px; padding: 0px; } body { background: #EEE; text-align:center; } #drawCanvas { background: white; border: 1px solid #CCC; } </style> </head> <body> <script type="text/javascript" src="../js/Chart.js"></script> <script type="text/javascript" src="../js/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="../js/index.js"></script> <p>A班成績表</p> <canvas id="myChart" width="600" height="400"></canvas> </body> </html>
3.index.js檔案。寫一個用來畫圖的js函式bar,有一個引數Data,然後編寫getdatafromDB 函式用ajax 獲取php檔案中的資料data,並呼叫bar方法,在window.onload函式中呼叫getdatafromDB函式。 bar函式分為兩部分:一部分資料設定,一部分為顯示樣式設定。
window.onload=function() { getdatafromDB(); } var getdatafromDB = function(){ $.ajax({ url: "../php/index.php", type: "POST", dataType:"json", error: function(){ alert('Error loading XML document'); }, success:function(data){ console.info(data); bar(data); } }); } function bar(Data) { if(Data.length==null || Data.length == 0) return; var barData={}; barData.labels=[]; barData.datasets=[]; var temData={}; temData.data=[]; temData.fillColor= "rgba(151,187,205,0.5)"; temData.strokeColor = "rgba(151,187,205,0.8)"; temData.highlightFill="rgba(151,187,205,0.75)", temData.highlightStroke= "rgba(151,187,205,1)"; for(var i=0;i<Data.length;i++) { barData.labels.push(Data[i].label); temData.data.push(Data[i].value); } barData.datasets.push(temData); //封裝一個規定格式的barData。 console.info(barData); / /// 動畫效果 var options = { scaleOverlay: false, scaleOverride: false, scaleSteps: null, scaleStepWidth: null, scaleStartValue: null, scaleLineColor: "rgba(0,0,0,.1)", scaleLineWidth: 1, scaleShowLabels: true, scaleLabel: "<%=value%>", scaleFontFamily: "'Arial'", scaleFontSize: 12, scaleFontStyle: "normal", scaleFontColor: "#666", scaleShowGridLines: true, scaleGridLineColor: "rgba(0,0,0,.05)", scaleGridLineWidth: 1, bezierCurve: true, pointDot: true, pointDotRadius: 3, pointDotStrokeWidth: 1, datasetStroke: true, datasetStrokeWidth: 2, datasetFill: true, animation: true, animationSteps: 60, animationEasing: "easeOutQuart", onAnimationComplete: null } var ctx = document.getElementById("myChart").getContext('2d'); myChart = new Chart(ctx).Bar(barData,options, { //重點在這裡 responsive : true }); }
相關推薦
Chart.js 使用示例
從MySql 資料庫中獲取資料 ,利用chart.js 繪製柱形圖。 檔案結構: 1.index.php檔案。從資料庫獲取資料。先連線資料庫exercisedata,然後從資料庫的users表中查詢學生名字userName和學生的成績score,並給userName和sc
jsp 快速開發報表 chart.js 餅圖示例 系列教材(一)
畫餅圖,需要有兩個js,一個是chart.js一個是jquery.min.js,我這兩個都放在了webContent下了引入方法: <script type="text/javasc
Chart.js在Laravel項目中的應用
tchar chart.js ins 線圖 一個數 希望 來安 支持 route 本文為轉載,原文:Chart.js在Laravel項目中的應用 介紹 Chart.js是一個HTML5圖表庫,使用canvas元素來展示各式各樣的客戶端圖表,支持折線圖、柱形圖、雷達圖、餅圖、
chart.js使用常見問題
size require down 對象 中文 我們 function blog ges Chart.js是一個簡單、面向對象、為設計者和開發者準備的圖表繪制工具庫。 在使用過程中新手可能會遇到很多問題導致圖標無法顯示。下面我們來看一下在使用過程中可能會遇到的問題。
chart.js簡單的圖標繪制工具
圖表 .cn font 寬度 雷達 20px convert alt fff 前 言 chart.js Chart.js幫你用不同的方式讓你的數據變得可視化。每種類型的圖表都有動畫效果,並且看上去非常棒,即便是在retina屏幕上。 Chart.js基於HTML
vue.js 圖表chart.js使用
cross wid 差距 雷達 mint www 選項 class small 在使用這個chart.js之前,自己寫過一個餅圖,總之碰到的問題不少,所以能用現成的插件就用,能節省不少時間 這裏不打算介紹chart.js裏面詳細的參數意義和各個參數的用法,只作為首次使用ch
[轉] angular2+highcharts+chart.js
nsh 4.5 about 示例 label 授權 color blank options 這裏是在ionic2下使用highchairs和chart.js的簡單示例chartjs部分參考http://www.jianshu.com/p/bc18132da812 1.安
Chart.js Y軸數據以百分比展示
too 取值 java docs 調試 ocs 配置 。。 tip 新手一枚,解決的問題喜歡記錄,也許正好有人在網上迷茫的百度著。-0- 最近使用Chart.js做折線圖的報表展示,直接顯示整數啥的很好弄畢竟例子直接在哪裏可以用,百分比就沒辦法了。百度慢慢汲取營養,雖然
[轉]Chart.js入門教程
Chart.js是一個簡單、面向物件、為設計者和開發者準備的圖表繪製工具庫。 相信大部分人都一樣,看到一大筐用文字或者表格形式呈現的資料就頭疼。因為這種呈現方式也太無聊了吧。。。而且這對於我們處理原始資料也造成一定的困難。 不信?我反手就是一個例子: 更進一步說,柱狀圖能夠直觀
chart.js使用用法
chart.js使用用法 定義畫布 <canvas id="myChart"></canvas> <!--必須是canvas ,給好Id--> 建立圖表 var ctx = document.getElementById('myChar
chart.js應用中遇到的問題
問題一:chart.js的版本問題:開啟官網https://github.com/chartjs/Chart.js/releases/tag/v2.7.3,點選Tags,選擇最新版本,我這裡選用的是V2.7.3,下載對應的ZIP檔案,下載好後,解壓縮,開啟dist資料夾,找
Angular Chart.js第三方庫ng-chartjs基礎使用
Angular Chart.js第三方庫ng-chartjs基礎使用 專案github地址 這個專案支援基本的Chart.js圖表,並且支援內聯外掛和全域性外掛的使用。 Demo地址 支援圖表型別 line bar radar pie
用 Chart.js 做漂亮的響應式表單
資料包圍著我們。雖然搜尋引擎和其他應用都對基於文字方式表示的資料偏愛有加,但人們發現視覺化是更容易理解的一種方式。今年初,SitePoint 發表了 Aurelio 的文章《 Chart.js簡介》。在深入研究 Chart.js 的功能後,本文將會講解這篇簡介的一些重點。 入門
Chart.js 與 ASP.NET MVC 整合應用
Chart.js 是一套開放原始碼的「圖表」繪製函式庫,和其他第三方的圖表工具相比,Chart.js 的特色如下: 支援 HTML 5、響應式網頁 (RWD, Responsive Web Design) 可免費使用,且可作為商業用途 開放原始碼 (GitHub) 可用 JavaScrip
大量 D3.js 示例
D3.js 是一個基於資料操作文件JavaScript庫。D3幫助你給資料帶來活力通過使用HTML、SVG和CSS。D3重視Web標準為你提供現代瀏覽器的全部功能,而不是給你一個專有的框架。結合強大的視覺化元件和資料驅動方式Dom操作。以下收集了1800+的 D3.j
JS元件系列——開源免費圖表元件:Chart.js
前言:最近被開源免費得有點上火了,各種元件首先想到的就是是開源否、是否免費、是否和bootstrap風格一致。想著以後做報表肯定要用到圖表元件的,於是在Bootstrap中文網上面找到了Chart.js,總的來說,這個元件不能說最好,但是對於一般不太複雜的報表是夠用了。今天就來看看它如何使用吧。 一、元件比
chart.js外掛生成折線圖時資料普遍較大時Y軸資料不從0開始的解決辦法[bubuko.com]
預設情況下如下圖 Y軸並不是從0開始,這樣折現圖的幅度會很大,不是正常的幅度,解決辦法如下, 示例程式碼: window.onload = function () { var ctx = document.getElementById(
django中使用chart.js的例子
背景:由於運營的需求,需要一些資料圖表進行分析。整個思路是這樣的,利用DJANGO的ORM操作資料庫,從庫中查詢出所需要的資料。並把查詢整個動作封裝成一個數據介面。返回給前端json格式。利用chart.js將資料展現在頁面上。 html 引用好所需要的
python使用scrapy解析js示例
from selenium import selenium class MySpider(CrawlSpider): name = 'cnbeta' allowed_domains = ['cnbeta.com'] start_urls = ['http://www.jb51.
【Chart.js】通過Ajax請求JSON資料來繪製圖表
背景 在使用Chart.js繪製圖表時,我們通常會有這樣的需求:從後臺方法動態獲取圖表的資料,而非Demo中使用的靜態資料。本文將分享如何使用Ajax動態請求JSON資料並且完成圖表的繪製。 解決方案 在html頁中新增對Ch