HTML5 Chart.js 框架

版权声明:未经博主授权,内容严禁转载 !

Chart.js 概述:

chart.js 是一个简单的、面向对象、为设计者开发者准备的图表绘制工具。

点击进入官方网址

    

chart.js 的特点

基于 HTML5

  chart.js 基于 HTML5 canvas 技术,支持所有主流浏览器。

  针对 IE7/IE8 提供了降级解决方案。

简单灵活

  chart.js 不依赖任何外部工具库,轻量级(压缩后仅仅4.5K)。

  提供了加载外部参数的方法。

chart.js 的功能

chart.js 可以用不同的方式让数据变得可视化。

每种类型的图标都有动画效果。

图标的类型:

  - 柱状图  - 曲线图  - 雷达图  - 饼状图  - 极地区域图  - 环形图

chart.js 基础

  

  这个网址,引入 chart 文件。

  

  

  

    

  

  OK,以后就可以在本地使用 chart.js 文件了,不需要再导入网址,没网也可以用了。

  

 简单基础案例代码

<!-- 导入之前讲解保存好的 js 文件 -->
<script src="mychat.js"></script> <p style="border: 1px solid #999999; width:600px ;height:450px"> <canvas id="canvas" width="600" height="450"></canvas> </p> <script type="text/javascript">
var ctx = document.getElementById("canvas").getContext("2d");
// 创建一个Chart对象
var mychart = new Chart(ctx,{
type:"bar", // 柱状图
data:{ // 数据:json集合
labels:["A","B","C"], // 横坐标轴
datasets:[ // 各个列数据 : json
{
data:[11,15,8]
}
]
},
options:{
scales:{
yAxes:[
{
ticks:{
beginAtZero:true
}
}
]
}
}
}) </script>

查看官方文档

就进入了 chart.js 的官方文档,但是比较慢,哈哈,等吧,但是还有一个问题,就是他这个文档是英文的。对 ! English!

官网文档基础案例

<canvas id="myChart" width="400" height="400"></canvas>
<script>
var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
datasets: [{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255,99,132,1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero:true
}
}]
}
}
});
</script>

chart.js 基础案例

<!-- 导入之前讲解保存好的 js 文件 -->
<script src="mychat.js"></script> <p style="border: 1px solid #999999; width:600px ;height:450px"> <canvas id="canvas" width="600" height="450"></canvas> </p> <script type="text/javascript">
var ctx = document.getElementById("canvas").getContext("2d");
// 创建一个Chart对象
var mychart = new Chart(ctx,{
type:"bar", // 柱状图
data:{ // 数据:json集合
labels:["A","B","C"], // 帮助我们创出X轴坐标点内容
datasets:[ // 一个统计图表可以有多个图表
{
label:"hhh", // 标题
data:[11,15,8], // X轴各坐标点的数值
backgroundColor: [ // 条形图 颜色
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)'
],
borderColor: [ // 条形图 边框颜色
'rgba(255,99,132,1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)'
],
borderWidth: 3 // 边框宽度
},
{
label:"hhh", // 标题
data:[11,15,8], // X轴各坐标点的数值
backgroundColor: [ // 条形图 颜色
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)'
],
borderColor: [ // 条形图 边框颜色
'rgba(255,99,132,1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)'
],
borderWidth: 3 // 边框宽度
}
]
},
options:{
scales:{ // 刻度 - Y轴刻度
yAxes:[
{
ticks:{
beginAtZero:true // 刻度从 0 开始。
}
}
]
},
layout:{
padding:{ // 设置内边距
left:50,
right:0,
top:0,
bottom:0
}
},
legend:{ // 设置标题的颜色
display:true,
labels:{
fontColor :"rgb(255,99,132)"
}
},
title:{ // 设置标题
display:true,
text:"这是个标题"
}
}
}); </script>

chart.js 的使用

chart.js 曲线图 line

  

代码案例

<style>
.chart-container{
position: relative;
border: 1px solid #999999;
margin: auto;
width: 80vw;
height: 80vh;
text-align: center;
}
</style> <script src="mychat.js"></script> <p class="chart-container">
<select id="type" class="" name="type">
<option value="line">曲线图</option>
</select>
<button type="button" onclick="changetype()" >生成图表</button>
<canvas id="myChart"></canvas>
</p> <script type="text/javascript">
var ctx = document.getElementById("myChart").getContext("2d");
var t = document.getElementById('type').value;
var d={
// X 轴显示的文本
labels:["Sun","Mon","Tue","Wed","Thr","Fri","Sat"],
datasets:[
{
label:"大蜥蜴",
// 数据集
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
// 边框宽度
borderWidth:1,
backgroundColor:[
'rgba(132,99,244,0.2)',
'rgba(235,33,244,0.2)',
'rgba(132,145,158,0.2)',
'rgba(111,99,54,0.2)',
'rgba(132,99,144,0.2)',
'rgba(145,32,25,0.2)',
'rgba(58,125,222,0.2)'
],
borderColor:[
'rgba(132,99,244,1)',
'rgba(235,33,244,1)',
'rgba(132,145,158,1)',
'rgba(111,99,54,1)',
'rgba(132,99,144,1)',
'rgba(145,32,25,1)',
'rgba(58,125,222,1)'
]
},
{
label:"猪猪侠",
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
borderWidth:1
}
]
};
var o ={
maintainAspectRation:false, // 自动适配,自动根据父容器调整大小。
scales:{ // 刻度
yAxes:[
{
// ticks:{beginAtZero:true} // 刻度从零开始。
gridLines:{
display:false
} // 显示竖线。
}
],
xAxes:[
{
gridLines:{
display:false
}
}
]
} };
function changetype() {
t = document.getElementById('type').value;
new Chart( ctx , { type: t , data: d , options: o } );
} </script>

chart.js 柱状图 bar

  

案例代码

<style>
.chart-container{
position: relative;
border: 1px solid #999999;
margin: auto;
width: 80vw;
height: 80vh;
text-align: center;
}
</style> <script src="mychat.js"></script> <p class="chart-container">
<select id="type" class="" name="type">
<option value="line">曲线图</option>
<option value="bar">柱状图</option>
</select>
<button type="button" onclick="changetype()" >生成图表</button>
<canvas id="myChart"></canvas>
</p> <script type="text/javascript">
var ctx = document.getElementById("myChart").getContext("2d");
var t = document.getElementById('type').value;
var d={
// X 轴显示的文本
labels:["Sun","Mon","Tue","Wed","Thr","Fri","Sat"],
datasets:[
{
label:"大蜥蜴",
// 数据集
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
// 边框宽度
borderWidth:1,
backgroundColor:[
'rgba(132,99,244,0.2)',
'rgba(235,33,244,0.2)',
'rgba(132,145,158,0.2)',
'rgba(111,99,54,0.2)',
'rgba(132,99,144,0.2)',
'rgba(145,32,25,0.2)',
'rgba(58,125,222,0.2)'
],
borderColor:[
'rgba(132,99,244,1)',
'rgba(235,33,244,1)',
'rgba(132,145,158,1)',
'rgba(111,99,54,1)',
'rgba(132,99,144,1)',
'rgba(145,32,25,1)',
'rgba(58,125,222,1)'
]
},
{
label:"猪猪侠",
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
borderWidth:1
}
]
};
var o ={
maintainAspectRation:false, // 自动适配,自动根据父容器调整大小。
scales:{ // 刻度
yAxes:[
{
// ticks:{beginAtZero:true} // 刻度从零开始。
gridLines:{
display:false
} // 显示竖线。
}
],
xAxes:[
{
gridLines:{
display:false
}
}
]
} };
function changetype() {
t = document.getElementById('type').value;
new Chart( ctx , { type: t , data: d , options: o } );
} </script>

chart.js 饼状图 pie

  

案例代码

<style>
.chart-container{
position: relative;
border: 1px solid #999999;
margin: auto;
width: 80vw;
height: 80vh;
text-align: center;
}
</style> <script src="mychat.js"></script> <p class="chart-container">
<select id="type" class="" name="type">
<option value="line">曲线图</option>
<option value="bar">柱状图</option>
<option value="pie">饼图</option>
</select>
<button type="button" onclick="changetype()" >生成图表</button>
<canvas id="myChart"></canvas>
</p> <script type="text/javascript">
var ctx = document.getElementById("myChart").getContext("2d");
var t = document.getElementById('type').value;
var d={
// X 轴显示的文本
labels:["Sun","Mon","Tue","Wed","Thr","Fri","Sat"],
datasets:[
{
label:"大蜥蜴",
// 数据集
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
// 边框宽度
borderWidth:1,
backgroundColor:[
'rgba(132,99,244,0.2)',
'rgba(235,33,244,0.2)',
'rgba(132,145,158,0.2)',
'rgba(111,99,54,0.2)',
'rgba(132,99,144,0.2)',
'rgba(145,32,25,0.2)',
'rgba(58,125,222,0.2)'
],
borderColor:[
'rgba(132,99,244,1)',
'rgba(235,33,244,1)',
'rgba(132,145,158,1)',
'rgba(111,99,54,1)',
'rgba(132,99,144,1)',
'rgba(145,32,25,1)',
'rgba(58,125,222,1)'
]
},
{
label:"猪猪侠",
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
borderWidth:1
}
]
};
var o ={
maintainAspectRation:false, // 自动适配,自动根据父容器调整大小。
scales:{ // 刻度
yAxes:[
{
// ticks:{beginAtZero:true} // 刻度从零开始。
gridLines:{
display:false
} // 显示竖线。
}
],
xAxes:[
{
gridLines:{
display:false
}
}
]
} };
function changetype() {
t = document.getElementById('type').value;
new Chart( ctx , { type: t , data: d , options: o } );
} </script>

  

chart.js 雷达图 radar

  

案例代码

<style>
.chart-container{
position: relative;
border: 1px solid #999999;
margin: auto;
width: 80vw;
height: 80vh;
text-align: center;
}
</style> <script src="mychat.js"></script> <p class="chart-container">
<select id="type" class="" name="type">
<option value="line">曲线图</option>
<option value="bar">柱状图</option>
<option value="pie">饼图</option>
<option value="radar">雷达图</option>
</select>
<button type="button" onclick="changetype()" >生成图表</button>
<canvas id="myChart"></canvas>
</p> <script type="text/javascript">
var ctx = document.getElementById("myChart").getContext("2d");
var t = document.getElementById('type').value;
var d={
// X 轴显示的文本
labels:["Sun","Mon","Tue","Wed","Thr","Fri","Sat"],
datasets:[
{
label:"大蜥蜴",
// 数据集
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
// 边框宽度
borderWidth:1,
backgroundColor:[
'rgba(132,99,244,0.2)',
'rgba(235,33,244,0.2)',
'rgba(132,145,158,0.2)',
'rgba(111,99,54,0.2)',
'rgba(132,99,144,0.2)',
'rgba(145,32,25,0.2)',
'rgba(58,125,222,0.2)'
],
borderColor:[
'rgba(132,99,244,1)',
'rgba(235,33,244,1)',
'rgba(132,145,158,1)',
'rgba(111,99,54,1)',
'rgba(132,99,144,1)',
'rgba(145,32,25,1)',
'rgba(58,125,222,1)'
]
},
{
label:"猪猪侠",
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
borderWidth:1
}
]
};
var o ={
maintainAspectRation:false, // 自动适配,自动根据父容器调整大小。
scales:{ // 刻度
yAxes:[
{
// ticks:{beginAtZero:true} // 刻度从零开始。
gridLines:{
display:false
} // 显示竖线。
}
],
xAxes:[
{
gridLines:{
display:false
}
}
]
} };
function changetype() {
t = document.getElementById('type').value;
new Chart( ctx , { type: t , data: d , options: o } );
} </script>

  

chart.js 极地区域图 polarArea

  

案例代码

<style>
.chart-container{
position: relative;
border: 1px solid #999999;
margin: auto;
width: 80vw;
height: 80vh;
text-align: center;
}
</style> <script src="mychat.js"></script> <p class="chart-container">
<select id="type" class="" name="type">
<option value="line">曲线图</option>
<option value="bar">柱状图</option>
<option value="pie">饼图</option>
<option value="radar">雷达图</option>
<option value="polarArea">极地区域图</option>
</select>
<button type="button" onclick="changetype()" >生成图表</button>
<canvas id="myChart"></canvas>
</p> <script type="text/javascript">
var ctx = document.getElementById("myChart").getContext("2d");
var t = document.getElementById('type').value;
var d={
// X 轴显示的文本
labels:["Sun","Mon","Tue","Wed","Thr","Fri","Sat"],
datasets:[
{
label:"大蜥蜴",
// 数据集
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
// 边框宽度
borderWidth:1,
backgroundColor:[
'rgba(132,99,244,0.2)',
'rgba(235,33,244,0.2)',
'rgba(132,145,158,0.2)',
'rgba(111,99,54,0.2)',
'rgba(132,99,144,0.2)',
'rgba(145,32,25,0.2)',
'rgba(58,125,222,0.2)'
],
borderColor:[
'rgba(132,99,244,1)',
'rgba(235,33,244,1)',
'rgba(132,145,158,1)',
'rgba(111,99,54,1)',
'rgba(132,99,144,1)',
'rgba(145,32,25,1)',
'rgba(58,125,222,1)'
]
},
{
label:"猪猪侠",
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
borderWidth:1
}
]
};
var o ={
maintainAspectRation:false, // 自动适配,自动根据父容器调整大小。
scales:{ // 刻度
yAxes:[
{
// ticks:{beginAtZero:true} // 刻度从零开始。
gridLines:{
display:false
} // 显示竖线。
}
],
xAxes:[
{
gridLines:{
display:false
}
}
]
} };
function changetype() {
t = document.getElementById('type').value;
new Chart( ctx , { type: t , data: d , options: o } );
} </script>

  

chart.js 环形图 doughnut

  

案例代码

<style>
.chart-container{
position: relative;
border: 1px solid #999999;
margin: auto;
width: 80vw;
height: 80vh;
text-align: center;
}
</style> <script src="mychat.js"></script> <p class="chart-container">
<select id="type" class="" name="type">
<option value="line">曲线图</option>
<option value="bar">柱状图</option>
<option value="pie">饼图</option>
<option value="radar">雷达图</option>
<option value="polarArea">极地区域图</option>
<option value="doughnut">环形图</option>
</select>
<button type="button" onclick="changetype()" >生成图表</button>
<canvas id="myChart"></canvas>
</p> <script type="text/javascript">
var ctx = document.getElementById("myChart").getContext("2d");
var t = document.getElementById('type').value;
var d={
// X 轴显示的文本
labels:["Sun","Mon","Tue","Wed","Thr","Fri","Sat"],
datasets:[
{
label:"大蜥蜴",
// 数据集
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
// 边框宽度
borderWidth:1,
backgroundColor:[
'rgba(132,99,244,0.2)',
'rgba(235,33,244,0.2)',
'rgba(132,145,158,0.2)',
'rgba(111,99,54,0.2)',
'rgba(132,99,144,0.2)',
'rgba(145,32,25,0.2)',
'rgba(58,125,222,0.2)'
],
borderColor:[
'rgba(132,99,244,1)',
'rgba(235,33,244,1)',
'rgba(132,145,158,1)',
'rgba(111,99,54,1)',
'rgba(132,99,144,1)',
'rgba(145,32,25,1)',
'rgba(58,125,222,1)'
]
},
{
label:"猪猪侠",
data:[parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100),parseInt(Math.random()*100)],
borderWidth:1
}
]
};
var o ={
maintainAspectRation:false, // 自动适配,自动根据父容器调整大小。
scales:{ // 刻度
yAxes:[
{
// ticks:{beginAtZero:true} // 刻度从零开始。
gridLines:{
display:false
} // 显示竖线。
}
],
xAxes:[
{
gridLines:{
display:false
}
}
]
} };
function changetype() {
t = document.getElementById('type').value;
new Chart( ctx , { type: t , data: d , options: o } );
} </script>

  

结束,谢谢!

HTML5 Chart.js 框架的更多相关文章

  1. 超酷HTML5 Canvas图表应用Chart.js自定义提示折线图

    超酷HTML5 Canvas图表应用Chart.js自定义提示折线图 效果预览 实例代码 <div class="htmleaf-container"> <div ...

  2. 让IE8支持HTML5及canvas功能!chart.js图表绘制工具库IE8上兼容方案

    第一步,我们加上对html5的支持. <!--[if IE]> <script src="/public/html5.js" type="text/ja ...

  3. Chart.js | HTML5 Charts for your website.

    Chart.js | HTML5 Charts for your website. Chart.js

  4. PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码

    PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码 看看新闻网>看引擎>开源产品 0人收藏此文章, 发表于8小时前(2013-09-06 00:39) ...

  5. 基于html5 canvas 的强大图表插件【Chart.js】

    名词解释 Chart.js:是基于html5和canvas的强大图表插件,支持多样的图表形式,柱状线性饼环极地雷达等等: canvas:只兼容到IE9 excanvas.js:强大的第三方兼容插件,可 ...

  6. Chart.js – 效果精美的 HTML5 Canvas 图表库

    Chart.js 是一个令人印象深刻的 JavaScript 图表库,建立在 HTML5 Canvas 基础上.目前,它支持6种图表类型(折线图,条形图,雷达图,饼图,柱状图和极地区域区).而且,这是 ...

  7. 你需要了解的JS框架

    excanvas.js/Chart.js/cubism.js/d3.js/dc.js/dx.chartjs.js/echarts.js/flot.js       用途:构建数据统计图表,兼容多浏览器 ...

  8. [转]Chart.js入门教程

    Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 相信大部分人都一样,看到一大筐用文本或者表格形式呈现的数据就头疼.因为这种呈现方式也太无聊了吧...而且这对于我们处理原始 ...

  9. Chart.js入门教程

    Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 相信大部分人都一样,看到一大筐用文本或者表格形式呈现的数据就头疼.因为这种呈现方式也太无聊了吧...而且这对于我们处理原始 ...

随机推荐

  1. hihocoder 1320 - 压缩字符串 - [hiho一下160周]

    这道题目可以说是一道非常好非常一颗赛艇的DP题了. 需要注意的是,其中情形3),字符串必然能完全转化为 N(str)形式,如果有N(str1)M(str2)等等另外样式,应该首先使用拼接形式对其进行划 ...

  2. FZU - 2150 Fire Game bfs+双起点枚举

    题意,10*10的地图,有若干块草地“#”,草地可以点燃,并在一秒后点燃相邻的草地.有墙壁‘·‘阻挡.初始可以从任意两点点火.问烧完最短的时间.若烧不完输出-1. 题解:由于100的数据量,直接暴力. ...

  3. 【源码】rm zip 删除文件夹中大量的小文件 百万 扫描文件时间

    rm  删除文件夹中大量的小文件 百万 迟迟未删除 在扫描文件? rm删除命令源码分析 - ty_laurel的博客 - CSDN博客 https://blog.csdn.net/ty_laurel/ ...

  4. php:// — 访问各个输入/输出流(I/O streams)

    PHP: php:// - Manual http://www.php.net/manual/zh/wrappers.php.php php:// php:// — 访问各个输入/输出流(I/O st ...

  5. the command line tools

    PhpStorm 10.0.2 http://stackoverflow.com/questions/22572861/error-cant-use-subversion-command-line-c ...

  6. 安装crf++的python包

    在Linux上可以在taku910的github博客(https://taku910.github.io/crfpp/)下载crf++的linux版本,然后按照python文件夹下的README编译安 ...

  7. javaScript 载入自执行

    1.注册可以直接调用f()中的b(),c(),d() .原因?自己想. <!DOCTYPE html> <html> <head> <meta charset ...

  8. android 网络监测

    public class NetWorkStateReceiver extends BroadcastReceiver { @Override public void onReceive(Contex ...

  9. Git:pull --rebase 和 merge --no-ff

    首先是吐嘈 如果你正在 code review,看到上图(下文将称之为:提交线图)之后,特别是像我这样有某种洁癖的人,是否感觉特别难受?如果是的话,请看下文吧 :) 为什么 Git 作为分布式版本控制 ...

  10. [LeetCode] 394. Decode String_Medium tag: stack 666

    Given an encoded string, return it's decoded string. The encoding rule is: k[encoded_string], where ...