html5画饼形图
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm10.aspx.cs" Inherits="JQGridExercise.WebForm10" %>
<!DOCTYPE html> 
<html>  
    <head>  
        <title>Canvas测试</title>  
        <meta charset="gbk">  
        <script>
            //绘制饼图  
            function drawCircle(canvasId, data_arr, color_arr, text_arr) {
                var c = document.getElementById(canvasId);
                var ctx = c.getContext("2d");
var radius = c.height / 2 - 20; //半径  
                var ox = radius + 20, oy = radius + 20; //圆心
var width = 30, height = 10; //图例宽和高  
                var posX = ox * 2 + 20, posY = 30;   //  
                var textX = posX + width + 5, textY = posY + 10;
var startAngle = 0; //起始弧度  
                var endAngle = 0;   //结束弧度  
                for (var i = 0; i < data_arr.length; i++) {
                    //绘制饼图  
                    endAngle = endAngle + data_arr[i] * Math.PI * 2; //结束弧度  
                    ctx.fillStyle = color_arr[i];
                    ctx.beginPath();
                    ctx.moveTo(ox, oy); //移动到到圆心  
                    ctx.arc(ox, oy, radius, startAngle, endAngle, false);
                    ctx.closePath();
                    ctx.fill();
                    startAngle = endAngle; //设置起始弧度
//绘制比例图及文字  
                    ctx.fillStyle = color_arr[i];
                    ctx.fillRect(posX, posY + 20 * i, width, height);
                    ctx.moveTo(posX, posY + 20 * i);
                    ctx.font = 'bold 12px 微软雅黑';    //斜体 30像素 微软雅黑字体  
                    ctx.fillStyle = color_arr[i]; //"#000000";  
                    var percent = text_arr[i] + ":" + 100 * data_arr[i] + "%";
                    ctx.fillText(percent, textX, textY + 20 * i);
                }
            }
function init() {
                //绘制饼图  
                //比例数据和颜色  
                var data_arr = [0.35, 0.25, 0.4];
                var color_arr = ["#00FF21", "#FFAA00", "#FF4400"];
                var text_arr = ["第一季度", "第二季度", "第三季度"];
drawCircle("canvas_circle", data_arr, color_arr, text_arr);
            }
//页面加载时执行init()函数  
            window.onload = init;
        </script>  
    </head>  
    <body>  
        <h3>HTML5绘制饼图演示</h3>  
        <p>  
            <canvas id="canvas_circle" width="500" height="300" style="border:2px solid #0026ff;" >  
                浏览器不支持canvas  
            </canvas>  
        </p>  
    </body>  
</html>
html5画饼形图的更多相关文章
- HTML5画:线、圆、矩形、渐变
		
示例一:矩形 <!DOCTYPE html><head> <meta charset=utf-8> <title>HTML5画线.圆.矩形</ti ...
 - 使用HTML5画饼图
		
在进行数据的统计分析时, 饼图也是比较经常用到的一类统计图. 需求分析: 一个饼图一般包含以下几部分: 1.标题 2.扇形 3.份额(百分比) 4.标识器 设计: ...
 - 使用HTML5画柱状图
		
柱状图在很多应用中都比较常见,例如投票结果的统计分析,企业销售数据的统计分析等等. 需求分析: 一个柱状图一般包含以下几部分: 1.标题 2.横坐标(含标题) 3.竖坐标 (含标题.刻度 ...
 - 一个给力的html5 画多边形的例子
		
只需改变参数就能画出你想要的多边形,代码简单!不得不惊叹canvas的强大! 代码奉上 <!doctype html> <html> <head> <meta ...
 - HTML5 画一张图
		
笔者:本笃庆军 原文地址:http://blog.csdn.net/qingdujun/article/details/33344289 一.绘制图像 使用drawImage()方法绘制图像. 画图环 ...
 - html5 画图板
		
8个最新炫酷的HTML5动画应用 http://www.php100.com/html/it/qianduan/2015/0107/8281.html 另外一个画板demo http://www.os ...
 - html5画四边形
		
<canvas id='test02'></canvas> <script> var canvas = document.getElementById('test0 ...
 - html5 画个圈
		
<html><body><canvas id="myCanvas" width="200" height="100&qu ...
 - Html5画钟表盘/指针实时跳动
		
1.最终效果 时钟.分钟.秒指针连续移动2.完整代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&q ...
 
随机推荐
- Android 最简单的SD卡文件遍历程序
			
package com.wenhao.test.sddemo; import java.io.File; import android.app.Activity; import android.os. ...
 - ios论坛
			
http://developer.cocoachina.com/ 讨论区:http://www.cocoachina.com/bbs/ http://bbs.9ria.com/forum-58-1.h ...
 - 使IE6同样支持圆角效果
			
之前写到过,IE6不支持:hover效果的解决办法,其它这个跟它一样.IE6(7/8)不支持border-radius属性,所以其中的圆角效果显示不出来,可以通过引用ie-css3.htc的方法解决. ...
 - Exchange Server 2010/2013架构改变
			
Exchange Server 2010架构 Exchange Server 2013架构
 - db2的select语句在db2 client上执行正确,JDBC连接数据库时报错
			
db2的select语句在db2 client上执行正确,JDBC连接数据库时报错. sql语句是:select ...from QUALIFIER.tableName fetch first 21 ...
 - <php>统计目录数和文件数
			
$dirn = 0; //目录数 $filen = 0; //文件数 //用来统计一个目录下的文件和目录的个数 function getdirnum($file) { global $dirn; gl ...
 - php  实现购物车
			
<?php class Cart{ public function Cart() { if(!isset($_SESSION['cart'])){ ...
 - python RabbitMQ队列使用(入门篇)
			
---恢复内容开始--- python RabbitMQ队列使用 关于python的queue介绍 关于python的队列,内置的有两种,一种是线程queue,另一种是进程queue,但是这两种que ...
 - GitHub上可能用到的开源
			
AGi18n :https://github.com/angelolloqui/AGi18n 可以简单地本地化你的iOS app,从代码和XIB文件中提取文本转化成可本地化的字符串,且不会改变XIB文 ...
 - PHP设计模式笔记七:观察者模式 -- Rango韩老师 http://www.imooc.com/learn/236
			
观察者模式 概述: 1.观察者模式(Observer),当一个对象状态发生改变时,依赖他的对象全部会收到通知,并自动更新 2.场景:一个事件发生后,要执行一连串更新操作,传统的编程方式,就是在事件的代 ...