图表插件Chart.js使用

  • 插件简介
    • 安装

插件简介



chart.js是一个优秀的开源图表处理插件,内置条形,折现,雷达,时间刻度等等图表渲染。

安装

chart.js官网.
我这里使用2019年3月4日发布的2.8版本.

下载之后拷贝dist文件夹,我改名为charts
得到

基础写法

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>Chart使用</title></head><body><script src="charts/Chart.js" type="text/javascript" charset="utf-8"></script><link rel="stylesheet" type="text/css" href="charts/Chart.css" /><div style="height: 400px; width: 400px;"><canvas id="myChart"></canvas></div><script>var ctx = document.getElementById('myChart').getContext('2d');//声明绘制2d对象var myChart = new Chart(ctx, {//绑定标签并渲染type: 'bar',//声明为条形图bardata:{labels: ['红', '篮', '黄', '绿', '紫', '橙'],//labels:标签名datasets: [{//数据集label: ['选项'],//data: [12, 19, 3, 5, 2, 8],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.9)'],borderColor: [//线条颜色'rgba(255, 99, 132, 2)','rgba(54, 162, 235, 1)','rgba(255, 206, 86, 9)','rgba(75, 192, 192, 1)','rgba(153, 102, 255, 1)','rgba(255, 159, 64, 1)'],borderWidth: 1//线条粗细}]},options: {//配置项maintainAspectRatio: true,//相应式选项onHover: function(){//alert("我是鼠标移入移出事件");},onClick: function(){alert("我是点击事件");},scales: {yAxes: [{ticks: {beginAtZero: true//值是否从0开始递增}}]}}});</script></body></html>


进阶写法

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>Chart使用</title></head><body><script src="charts/Chart.js" type="text/javascript" charset="utf-8"></script><link rel="stylesheet" type="text/css" href="charts/Chart.css" /><div style="height: 400px; width: 400px;"><canvas id="myChart"></canvas></div><script>var barData={//新建dataset对象labels: ['我是选项1','我是选项2','我是选项3','我是选项4','我是选项5','我是选项6','我是选项7'],datasets: [{label: '对学员出勤的检查与管理',backgroundColor: 'rgba(256, 255, 132, 0.2)',borderWidth: 1,data: [199,192,174,492,699,799,199]}, {label: '巡班并制止学员违纪现象',backgroundColor: 'rgba(255, 99, 132, 0.2)',borderWidth: 1,data: [199,192,174,492,699,799,199]}]}var ctx = document.getElementById('myChart').getContext('2d');//声明绘制2d对象var myChart = new Chart(ctx, {//绑定标签并渲染type: 'bar',//声明为条形图bardata: barData,options: {//配置项maintainAspectRatio: true,//是否响应式选项onHover: function(){//alert("我是鼠标移入移出事件");},onClick: function(){alert("我是点击事件");},scales: {yAxes: [{ticks: {beginAtZero: true//值是否从0开始递增}}]}}});</script></body></html>

效果图

AJAX获取数据
这里本人使用vue异步刷新

<script type="text/javascript">new Vue({el: '#sel',data: {map:{}},methods: {ajaxGetDetail: function(gid){}}
this.$http.post("/ajaxGetDetail",{gid:gid},{emulateJSON:true}).then(function(res){this.map=res.body;//map为已定义的对象,键值对应lables和datavar labels=[];var data=[];myChartData = {//初始化数据labels: labels,datasets: [{data: data,backgroundColor: "rgba(255, 99, 132, 0.2)",borderWidth: 1}]}for (var key in this.map.map){//将数据储存labels.push(key)data.push(this.map.map[key])}myChartData.datasets.forEach(function(datasets) {//循环判断data的值是否小于4,小于4改变颜色datasets.backgroundColor = datasets.data.map(function(data) {return data < 4 ? 'rgba(255, 99, 132, 0.2)' : 'rgba(102, 174, 255, 0.2)';});});myChart.data = myChartData; //重新赋值window.myChart.update(); //更新视图},function(res){console.log("请求失败处理")})
})</script>

Chart.js使用及ajax获取数据相关推荐

  1. vue定时ajax获取数据,vue 中使用 AJAX获取数据的方法

    在VUE开发时,数据可以使用jquery和vue-resource来获取数据.在获取数据时,一定需要给一个数据初始值. 看下例: new Vue({ el:'#app', data:{data:&qu ...

  2. (vue)在ajax获取数据时使用loading组件不起作用

    问题描述: 在用ajax获取数据时 页面没有变化,想用一个loading图标在获取数据时显示,获取完成后隐藏 整个系统用到了vue框架,在执行sure方法时调用ajax函数 sure() {conso ...

  3. 自己做一个table插件 (一)Ajax获取数据后动态生成table

    今天我给大家带来一个简单的JQ插件,Ajax获取数据后动态生成table.当然,有这种功能的插件有很多.著名的有DataTable.JqGrid--它们虽然功能丰富,成熟,拿来做二次开发是一个不错的选 ...

  4. BOS项目02_02_zTree-通过ajax的获取菜单数据、监听树形菜单的点击事件、读取json文件、Ajax获取数据

    系列文章目录 文章目录 系列文章目录 前言 一.发送ajax网络请求获取菜单数据 二.监听树形菜单的点击事件 总结 前言 一.发送ajax网络请求获取菜单数据 我们现在的数是写死的,那么实际项目中我们 ...

  5. 通过ajax获取的数据怎怎么在html上,Ajax获取数据然后显示在页面的实现方法

    主要功能流程介绍 循环获取列表数据 点击列表数据进入详情页 点击报名参加弹出报名成功提示框 点击提示框中的确定按钮,跳回列表页 代码实现流程和解说 1.访问链接list.PHP时判断是pc端还是客户端 ...

  6. Datatables学习(二)ajax获取数据

    上一篇文章,讲解了datatables的基本创建,这一讲讲解datatables通过ajax异步获取数据 1.前提准备 以一个图书管理的表格为例,后台java代码就不细说了,这里主要讲解前端 数据库表 ...

  7. 前端js调用后端API获取数据的三种方法(2022.7.25)

    前端js调用后台API获取数据的三种方法(2022.7.25) 前言 需求分析 一个Get实例 浏览器请求 SoapUI软件请求 一个Post实例 浏览器请求 SoapUI软件请求 1.Http简介( ...

  8. ajax 微信code获取_获取链接的参数,判断是否是微信打开,ajax获取数据

    //获取链接参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "= ...

  9. ajax获取数据中文乱码问题最简单的完美解决方案

    ajax获取数据中文乱码问题最简单的完美解决方案 参考文章: (1)ajax获取数据中文乱码问题最简单的完美解决方案 (2)https://www.cnblogs.com/konglxblog/p/1 ...

最新文章

  1. 2022-2028年中国顺丁橡胶行业发展模式分析及市场分析预测报告
  2. python判断素数的函数_如何用python求素数
  3. BZOJ - 3963: [WF2011]MachineWorks
  4. 解释i节点在文件系统中的作用?超级块作用?
  5. keystore文件_如何手动给APK文件签名
  6. #ifndef, #define, #endif的作用
  7. python学习(八)定制类和枚举
  8. html风车相册代码,Css Html 大风车(示例代码)
  9. 大二数据库期末考试大题
  10. UBUNTU使用GITHUB
  11. vscode node 乱码 非中文乱码
  12. 兄弟7360/7460其它设备两个USB Device上、Brother BHL2-Maintenance有个问号,扫描仪无法识别
  13. 三年磨一剑——微信OCR轻松提取图片文字
  14. Excel表格常用快捷键大全
  15. KX3552驱动的安装大九
  16. C#选择文件的对话框和选择文件夹的对话框
  17. 沪深股市股票交易规则
  18. 计算机网络名怎么设置,网络ssid怎么设置
  19. 搜索引擎SEO 入门学习摘要笔记
  20. openCV和python基于dlib库实现眨眼/睁闭眼检测--亲测高效

热门文章

  1. 计算机二级和英语六级什么时候出成绩,英语四六级口语考试成绩确定标准是什么?成绩何时发布?...
  2. 美创科技入选第九届CNCERT网络安全应急服务支撑单位
  3. c语言编程实现两个分数相加,C语言分数相加
  4. 最快接收计算机sci,投稿到接收仅用四天,这大概是发表最快的sci了!?
  5. 慧荣SMI_量产图文教程
  6. 敲黑板,定积分也有换元和分部积分法!
  7. 自学Java!三面蚂蚁核心金融部,Java岗
  8. 李沐精读论文:MAE 《Masked Autoencoders Are Scalable Vision Learners》
  9. 使用bedtools进行gwas基因注释
  10. 一位医疗 AI 创业者的自述:这个行业到底需要什么样的产品?...