一、相关资料

1. 简介

Chart.js 是一个基于 HTML5 的简单的面向对象的图表库,支持包括 IE7/8 和所有现代浏览器。支持六种图标:曲线图(Linecharts)、柱状图(Barcharts)、雷达图(Radarcharts)、饼状图(Piecharts)、极坐标区域图(Polararea charts)以及圆环图(Doughnutcharts)。并且带有动画效果(animated),支持 retina 屏。

2. 官网

官网:https://www.chartjs.org/

二、示例代码

本案例演示了最近 24 小时的 PV/UV 实时数据,在线 DEMO

<!DOCTYPE html>
<html>
<head>
<title>Chart.js 动态图表的使用</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script>
</head>
<body>
<div>
<canvas id="chart"></canvas>
</div> <script type="text/javascript"> var dataLabels = ['1h', '2h', '3h', '4h', '5h', '6h', '7h', '8h', '9h', '10h', '11h', '12h', '13h', '14h', '15h', '16h', '17h', '18h', '19h', '20h', '21h', '22h', '23h', '0h'];
var dataPV = [133058,253219,255194,233058,253219,277318,277714,273337,255194,277318,277714,273337,233058,253219,277318,253219,277318,277714,273337,255194,277714,273337,255194,293058];
var dataUV = [10651,22039,23955,23754,22664,10651,22039,23765,23955,23754,22664,23765,23955,23754,22664,10651,22039,23765,10651,22039,23765,23955,23754,22664]; var config = {
type: 'line',
data: {
labels: dataLabels,
datasets: [
{
label: 'PV',
data: dataPV,
backgroundColor: 'rgb(255, 99, 132)',
borderColor: 'rgb(255, 99, 132)',
fill: false,
},
{
label: 'UV',
data: dataUV,
backgroundColor: 'rgb(75, 192, 192)',
borderColor: 'rgb(75, 192, 192)',
fill: false,
}
]
},
options: {
responsive: true,
title: {
display: true,
text: 'PV/UV 实时统计'
},
}
}; var ctx = document.getElementById('chart').getContext('2d');
var chart = new Chart(ctx, config); setInterval(function() {
if (config.data.datasets.length > 0) { var last = parseInt(dataLabels[dataLabels.length - 1]);
var label = last + 1;
if (last >= 23) {
label = 0;
}
label = label + 'h'; dataLabels.push(label);
dataPV.push(getRandomNum(200000, 300000));
dataUV.push(getRandomNum(10000, 80000)); dataLabels.shift();
dataPV.shift();
dataUV.shift(); chart.update();
}
}, 1000); function getRandomNum(min, max) {
var range = max - min;
var rand = Math.random();
return(min + Math.round(rand * range));
} </script>
</body>
</html>

本文首发于马燕龙个人博客,欢迎分享,转载请标明出处。

马燕龙个人博客:http://www.mayanlong.com

马燕龙个人微博:http://weibo.com/imayanlong

马燕龙Github主页:https://github.com/yanlongma

最新文章

  1. Mysql数据库主从心得整理
  2. (Interface)接口特点
  3. C 指针疑虑
  4. [SGU495] Kids and Prizes (概率dp)
  5. 新版汉诺塔(UVa10795 - A Different Task)
  6. 谈Mysql索引
  7. hdoj 3861 The King’s Problem【强连通缩点建图&amp;&amp;最小路径覆盖】
  8. django 学习点滴
  9. AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)
  10. ubuntu 配置
  11. 实现Linux下的ls和ls-l
  12. SV coverage
  13. 【代码笔记】Web-ionic-创建APP的架构
  14. BZOJ2795&amp;2890&amp;3647[Poi2012]A Horrible Poem——hash
  15. 20165308 预备作业3 Linux安装及学习
  16. CSS3页面布局方案
  17. Linux下Oracle中SqlPlus时上下左右键乱码问题的解决办法
  18. python中的字符串编码问题——3.各操作系统下的不同编码方式
  19. 为centos虚拟机配置固定ip
  20. C#窗口文件双击打开时出错

热门文章

  1. 基于WPF系统框架设计(6)-整合MVVM框架(Prism)
  2. 聊聊、Zookeeper API
  3. IOS7开发~错误收集
  4. Picasso,Glide,Fresco那个好?
  5. 通达OA 小飞鱼工作流在线培训教程(七)工作流应用的意义及基础设置(图文)
  6. 2016.11.4 Injection of autowired dependencies failed
  7. Ubuntu下的计划任务 -- cron的基本知识
  8. 微信小程序 - 关闭当前页面无法再通过左上角返回
  9. vue2.0 引用qrcode.js实现获取改变二维码的样式
  10. 文件I/O操作为什么叫输入/出流