整理自己學習Chart.js的過程供大家參考

編程語言 Java 數據結構 HTML 淮安二傻子 淮安二傻子 2017-09-10

Chart.js

是一個簡單、面向對象、為設計者和開發者準備的圖表繪製工具庫。

幫你用不同的方式讓你的數據變得可視化。每種類型的圖表都有動畫效果,並且看上去非常棒,即便是在retina屏幕上。

基於HTML5 canvas技術,支持所有現代瀏覽器,並且針對IE7/8提供了降級替代方案。

不依賴任何外部工具庫,輕量級(壓縮之後僅有4.5k),並且提供了加載外部參數的方法。

下面是Chart.js的應用示例:

1引入Chart.js文件

首先我們需要在頁面中引入Chart.js文件。此工具庫在全局命名空間中定義了Chart變量

<script type="text/javascript" src="js/Chart.min.js"></script>

2 創建圖表

為了創建圖表,我們要實例化一個Chart對象。為了完成前面的步驟,首先需要需要傳入一個繪製圖表的2d context。以下是案例。

Html

<canvas id="canvas1" height="450" width="600"></canvas>

Js:

var ctx1 = new Chart(document.getElementById("canvas1").getContext("2d"));

var options = {scaleFontSize: 13, scaleFontColor: "#ffa45e"};

var myLineChart = ctx1.Line(LineChart, options);

當我們完成了在指定的canvas上實例化Chart對象之後,Chart.js會自動針對retina屏幕做縮放。

Chart對象設置完成後,我們就可以繼續創建Chart.js中提供的具體類型的圖表了

3 曲線圖(Line chart)

簡介

曲線圖就是將數據標於曲線上的一種圖表。

一般用於展示趨勢數據,和比較兩組數據集。

使用案例

整理自己學習Chart.js的過程供大家參考

數據結構

<canvas id="canvas1" height="450" width="600"></canvas>

var ctx1 = new Chart(document.getElementById("canvas1").getContext("2d"));

var options = {scaleFontSize: 13, scaleFontColor: "#ffa45e"};

// 線型圖

var LineChart = {

labels: ["Ruby", "jQuery", "Java", "ASP.Net", "PHP"],

datasets: [{

fillColor: "rgba(151,249,190,0.5)",

strokeColor: "rgba(255,255,255,1)",

pointColor: "rgba(220,220,220,1)",

pointStrokeColor: "#fff",

data: [100, 200, 300, 400, 550]

}, {

fillColor: "rgba(252,147,65,0.5)",

strokeColor: "rgba(255,255,255,1)",

pointColor: "rgba(173,173,173,1)",

pointStrokeColor: "#fff",

data: [28, 68, 40, 19, 96]

}]

};

var myLineChart = ctx1.Line(LineChart, options);

4 條形圖(Bar chart)

簡介

條形圖是將數據顯示為條形圖的一種方法。

它有時用來顯示趨勢數據,同時比較多個數據集。

使用案例

整理自己學習Chart.js的過程供大家參考

數據結構

<canvas id="canvas2" height="450" width="600"></canvas>

var ctx2 = new Chart(document.getElementById("canvas2").getContext("2d"));

var options = {scaleFontSize: 13, scaleFontColor: "#ffa45e"};

// 條形圖

var BarChart = {

labels: ["Ruby", "jQuery", "Java", "ASP.Net", "PHP"],

datasets: [{

fillColor: "rgba(151,249,190,0.5)",

strokeColor: "rgba(255,255,255,1)",

data: [13, 20, 30, 40, 50]

}, {

fillColor: "rgba(252,147,65,0.5)",

strokeColor: "rgba(255,255,255,1)",

data: [28, 68, 40, 19, 96]

}]

};

var myBarChart = ctx2.Bar(BarChart, options);

5 餅圖(Pie chart)

簡介

餅圖可能是最常用的圖表。它們被劃分為段,每個段的弧顯示每一段數據的比例值。

他們擅長顯示數據之間的關係比例。

使用案例

數據結構

整理自己學習Chart.js的過程供大家參考

<canvas id="canvas3" height="450" width="600"></canvas>

var ctx3 = new Chart(document.getElementById("canvas3").getContext("2d"));

var options = {scaleFontSize: 13, scaleFontColor: "#ffa45e"};

// 餅狀圖

var pieChart = [

{value: 40, color: "#fcc79c", highlight: "#AD0A56", label: "SCI"},

{value: 30, color: "#beefd2", highlight: "#AD0A56", label: "SSCI"},

{value: 90, color: "#ffddfb", highlight: "#AD0A56", label: "Others"},

];

var myPieChart = ctx3.Pie(pieChart);

6 環形圖(Doughnut chart)

簡介

環形圖表與餅圖相似,但它們有中心切割,因此形狀更像油炸圈餅而不是餡餅!

他們善於展示數據之間的關係比例。

使用案例

整理自己學習Chart.js的過程供大家參考

數據結構

<canvas id="canvas4" height="450" width="600"></canvas>

var ctx4 = new Chart(document.getElementById("canvas4").getContext("2d"));

var options = {scaleFontSize: 13, scaleFontColor: "#ffa45e"};

// 環狀圖

var doughnutChart = [

{value: 60, color: "#fcc79e", highlight: "#AD0A56", label: "SCI"},

{value: 30, color: "#beefd2", highlight: "#AD0A56", label: "SSCI"},

{value: 50, color: "#ffddfb", highlight: "#AD0A56", label: "Others"},

{value: 120, color: "#cdecff", highlight: "#AD0A56", label: "TEST"},

{value: 90, color: "#fff5bc", highlight: "#AD0A56", label: "ADD"}

];

var myRingChart = ctx4.Doughnut(doughnutChart);

7 瀏覽器支持

所有現代瀏覽器和大部分手機瀏覽器都支持canvas

對於IE8及以下版本的瀏覽器,建議使用ExplorerCanvas。對於不支持canvas的IE會自動降級為VML格式。使用下面方法,excamvas.js可以在下面網址

http://www.bvbcode.com/cn/yk51lwhx-894917-down

<head>

<!--[if lte IE 8]>

<script src="excanvas.js"></script>

<![endif]-->

</head>

附,下面是完整的html代碼:

<html>

<head>

<meta charset="utf-8">

<script type="text/javascript" src="js/Chart.min.js"></script>

</head>

<body>

<canvas id="canvas1" height="450" width="600"></canvas>

<canvas id="canvas2" height="450" width="600"></canvas>

<canvas id="canvas3" height="450" width="600"></canvas>

<canvas id="canvas4" height="450" width="600"></canvas>

<script type="text/javascript">

var ctx1 = new Chart(document.getElementById("canvas1").getContext("2d"));

var ctx2 = new Chart(document.getElementById("canvas2").getContext("2d"));

var ctx3 = new Chart(document.getElementById("canvas3").getContext("2d"));

var ctx4 = new Chart(document.getElementById("canvas4").getContext("2d"));

var options = {scaleFontSize: 13, scaleFontColor: "#ffa45e"};

// 線型圖

var LineChart = {

labels: ["Ruby", "jQuery", "Java", "ASP.Net", "PHP"],

datasets: [{

fillColor: "rgba(151,249,190,0.5)",

strokeColor: "rgba(255,255,255,1)",

pointColor: "rgba(220,220,220,1)",

pointStrokeColor: "#fff",

data: [100, 200, 300, 400, 550]

}, {

fillColor: "rgba(252,147,65,0.5)",

strokeColor: "rgba(255,255,255,1)",

pointColor: "rgba(173,173,173,1)",

pointStrokeColor: "#fff",

data: [28, 68, 40, 19, 96]

}]

};

var myLineChart = ctx1.Line(LineChart, options);

// 條形圖

var BarChart = {

labels: ["Ruby", "jQuery", "Java", "ASP.Net", "PHP"],

datasets: [{

fillColor: "rgba(151,249,190,0.5)",

strokeColor: "rgba(255,255,255,1)",

data: [13, 20, 30, 40, 50]

}, {

fillColor: "rgba(252,147,65,0.5)",

strokeColor: "rgba(255,255,255,1)",

data: [28, 68, 40, 19, 96]

}]

};

var myBarChart = ctx2.Bar(BarChart, options);

// 餅狀圖

var pieChart = [

{value: 40, color: "#fcc79c", highlight: "#AD0A56", label: "SCI"},

{value: 30, color: "#beefd2", highlight: "#AD0A56", label: "SSCI"},

{value: 90, color: "#ffddfb", highlight: "#AD0A56", label: "Others"},

];

var myPieChart = ctx3.Pie(pieChart);

// 環狀圖

var doughnutChart = [

{value: 60, color: "#fcc79e", highlight: "#AD0A56", label: "SCI"},

{value: 30, color: "#beefd2", highlight: "#AD0A56", label: "SSCI"},

{value: 50, color: "#ffddfb", highlight: "#AD0A56", label: "Others"},

{value: 120, color: "#cdecff", highlight: "#AD0A56", label: "TEST"},

{value: 90, color: "#fff5bc", highlight: "#AD0A56", label: "ADD"}

];

var myRingChart = ctx4.Doughnut(doughnutChart);

</script>

</body>

</html>

相關推薦

推薦中...