<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#main{
margin-top:100px;
text-align: center;
}
#c1{
background: pink;
}
</style>
</head>
<body>
<div id="main">
<canvas ID="c1" width="600" height="600"></canvas> </div>
<script src="jquery-1.11.3.js"></script>
<script>
var ctx=c1.getContext("2d"); var arr=[0,0,0,0,0,0];
$.ajax(
{
type:'get',
url:"1.php",
success:function(result){
console.log(typeof result);
result= JSON.parse(result);
console.log(result);
ctx.font="20px SimHei"; var timer=setInterval( function(){
paint(result,0);
paint(result,1);
paint(result,2);
paint(result,3);
paint(result,4);
paint(result,5); },41); },
error:function(){
console.log("失败");
}
}
); function paint(result,i){ var g=ctx.createLinearGradient(0,0,600,600);
g.addColorStop(0,"#f00");
g.addColorStop(0.5,"#ff0");
g.addColorStop(1,"#83ED4D");
ctx.fillStyle=g;
arr[i]+=10;因为要在一个定时器同时画6个柱状图,每次定时器还要保存上一次的数据因此用一个数组来存放6各数据
if(arr[i]>result[i].value)
{
arr[i]=result[i].value;
}
ctx.fillRect(60*(i+1),570-arr[i],20,arr[i]); ctx.fillStyle='#000';
var xtext=60*(i+1)-ctx.measureText(result[i].label).width/2+8;
ctx.fillText(result[i].label,xtext,590);
}
</script>
</body>
</html> 1.php
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/12/10
* Time: 9:22
*/
header("Content-Type:application/json"); $arr='[
{"label": "部门1", "value":300},
{"label": "部门2", "value":500},
{"label": "部门3", "value":150},
{"label": "部门4", "value":400},
{"label": "部门5", "value":550},
{"label": "部门6", "value":250}
]';
echo json_encode($arr);

今天写动态canvas柱状图小结的更多相关文章

  1. 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图

    如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?

  2. <数据结构系列1>封装自己的数组——手写动态泛型数组(简化版ArrayList)

    哈哈,距离上一次写博客已经快过去半个月了,这这这,好像有点慢啊,话不多说,开始我们的手写动态泛型数组 首先是我们自己写一个自己的动态数组类,代码如下所示: public class Array< ...

  3. echarts系列之动态修改柱状图颜色

    echarts根据某一变量动态修改柱状图颜色 1.option中参数配置项series { "name":"Android", "type" ...

  4. echart.gl.js实现动态3D柱状图

    echart.gl.js实现动态3D柱状图 一.总结 一句话总结:演示页面的源代码里面一定有所需的所有的js. 二.[js实践篇]——echart.gl.js实现动态3D柱状图 前言 本公司的项目需求 ...

  5. 基于iCamera测试mt9m034 1280X960 高动态相机模块小结

    基于iCamera测试mt9m034 高动态相机模块小结 首先看看此模块的特性 mt9m034 高动态 CMOS模块 1280*960像素 5.48 V/lux-sec >115db 摄像头模块 ...

  6. 5Spring动态代理开发小结

    5Spring动态代理开发小结 1.为什么要有动态代理? 好处 1.利于程序维护 2.利于原始类功能的增强 3.得益于JDK或者CGlib等动态代理技术使得程序扩展性很强 为什么说使得程序扩展性很强? ...

  7. canvas制作柱形图/折线图/饼状图,Konva写动态饼状图

    制作饼状图 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  8. Android 热补丁动态修复框架小结

    一.概述 最新github上开源了很多热补丁动态修复框架,大致有: https://github.com/dodola/HotFix https://github.com/jasonross/Nuwa ...

  9. d3.js多个x轴y轴canvas柱状图

    最终效果图镇楼: 本文通过三个步骤来介绍d3.js. 1.简单的柱状图: 2.多个x轴的柱状图: 3.多个x轴.y轴的柱状图: 学习心得: d3.js入门相对比较困难,一旦掌握了核心思想,不断熟悉AP ...

随机推荐

  1. Kafka分布式集群搭建

    环境说明 kafka自0.9之后增加了connector的特性.本文主要是搭建一个分布式的kafka connector和broker. 本文用了三台机器进行部署,使用centos 6.6. host ...

  2. MySQL 笔记 —— 日期和时间函数

    [TOC] 获取当前日期的函数和获取当前时间的函数 CURDATE()和CURRENT_DATE()函数获取当前日期:CURTIME()和CURRENT_TIME()函数获取当前时间. mysql&g ...

  3. [Thinkbayes]贝叶斯思维读书笔记-2-火车头问题

    今天,我们继续我们的笔记. 作者在第三章继续举了一个例子.火车头问题(读者在此可能会觉得这个问题没有意义,但相信随着深入阅读,这个问题会被解答). 这个举例恰到好处,能够让我深入理解到底应该如何假设, ...

  4. HTML <dl> 标签

    <html><body><h2>一个定义列表:</h2><dl>   <dt>计算机</dt>   <dd&g ...

  5. putty连接远程局域网的MySql(不需要单独打开plink)

    3316 是本地端口,映射到远程内网的一台MySql主机 10.8.2.172

  6. iOS用AFN上传图片到java后台

    -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { AFHTTPSessionMana ...

  7. mongodb tip-2

    1.or 查询的格式: var condition = {$or:[{field:1},{field:2}]} 2.字符串存储日期也可以用$gt $gte $lt $lte 直接比较 var cond ...

  8. JavaEE XML DOM解析之DOM4J

    DOM解析之DOM4J @author ixenos DOM4J常用API 读取xml文档: Document doc = new SAXReader().read("xml文件" ...

  9. (转)GBDT迭代决策树理解

    在网上看到一篇对从代码层面理解gbdt比较好的文章,转载记录一下: GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Re ...

  10. centos设置svn开机自启动

    安装好 svn 服务后,默认是没有随系统启动自动启动的, CentOS 7 的 /etc/rc.d/rc.local 是没有执行权限的, 系统建议创建 systemd service 启动服务 于是查 ...