日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

(转)浅谈HTML5与css3画饼图!

發(fā)布時間:2025/7/14 HTML 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (转)浅谈HTML5与css3画饼图! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

神馬系餅圖?

餅圖,大家都應該熟知,在統(tǒng)計數(shù)據(jù)對比方面,幾乎處處用到。如cnzz的統(tǒng)計餅圖

從餅圖中,很形象地展示了訪問者地區(qū)的分布,以扇形為塊的方式拼成一個大圓。

都使用什么方法實現(xiàn)

目前眾多站點制作餅圖大多使用flash,或者后臺語言生成,如PHP,Python只要安裝相應的基礎庫就能實現(xiàn)畫圖。但很少有站點這么干,因為耗費服務器資源。

cnzz里使用的就是flash

PHP生成的

HTML5與CSS3也能畫出餅圖

不得不說,HTML5與CSS3的推出,將推翻老一代的網頁制作者。特別在當今瀏覽器標準不斷統(tǒng)一的情況下,新生的網頁制作者幾乎想不到在過去的時間里制作網頁調兼容性是一件非常痛苦的事。

過去我們要實現(xiàn)圓角只能切圖,如今在CSS3里只需一條代碼搞定。而CSS3的功能遠不止這些,配合HTML5還能畫餅圖數(shù)據(jù)分析。

然而,HTML5與CSS3嚴格意義上不具備編程語言的思想,所以還要借助JS去“畫”它。

html代碼

1 <canvas id="bingtu"? width="224" height="130" ></canvas>

JS代碼

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 var color = ["#999999","#333333","#336799"]; var data = [25,35,50]; function drawCircle(){ ????????var canvas = document.getElementById("bingtu"); ????????var ctx = canvas.getContext("2d"); ????????var startPoint= 1.5 * Math.PI; ????????for(var i=0;i<data.length;i++){ ????????????????ctx.fillStyle = color[i]; ????????????????ctx.strokeStyle = color[i]; ????????????????ctx.beginPath(); ????????????????ctx.moveTo(112,65); ????????????????ctx.arc(112,65,65,startPoint,startPoint-Math.PI*2*(data[i]/100),true); ????????????????ctx.fill(); ????????????????ctx.stroke(); ????????????????startPoint -= Math.PI*2*(data[i]/100); ????????} } drawCircle();

canvas是HTML5新增的畫布標簽,個人感覺這個標簽在將來將大有用途,喜歡研究HTML5的童鞋可以深入研究這個標簽。canvas上的高度可以自己隨意設置,當然寬不能小于高,否則圖形出來不是圓的。

這里重點講下這段js代碼用法

var color = ["#999999","#333333","#336799"]; ?畫餅圖所用的顏色

var data = [25,35,50]; ?數(shù)據(jù)比,全部是數(shù)據(jù)加起來是100,才能畫滿整個圓

var ctx = canvas.getContext("2d"); ?畫2D平面圖

var startPoint= 1.5 * Math.PI; 繪制方向起點,有逆順之分,通常是 1.5*Math.PI 或者 0

ctx.fillStyle = color[i] ? 填充顏色

ctx.beginPath(); 開始畫

ctx.moveTo(112,65); ??每次回到圓心,第一個值 112 是 canvas 寬的一半, 65是 canvas 高的一半。其實也可以利用js獲取對象的寬高算出來就好,省該canvas寬高后還要去調整JS代碼中的參數(shù)。

ctx.arc(...); 開始畫圖,前兩個參數(shù)是圓心坐標,第三個參數(shù)是半徑大小,第四個參數(shù)是圓周起始位置,第五個參數(shù)是弧長,就是我們圓弧的范圍,Math.PI*2就是整個圓了,Math.PI是半圓,第六個參數(shù)是個布爾值,就是確定是順時針還是逆時針,這里false是順時針。

ctx.fill() ; 填充

ctx.stroke(); 邊框

startPoint -= Math.PI*2*(data[i]/100); 畫完一個善行以后,重新計算回到原點開始繪制下一扇,否則畫出來的餅圖拼起來就不是圓形了。

效果:

目前唯一的遺憾是還不能在圖上加文字。

其它HTML5與CSS3圖形統(tǒng)計數(shù)據(jù)示例

轉載鏈接:http://www.qttc.net/201212255.html

轉載于:https://www.cnblogs.com/anns/p/4757574.html

總結

以上是生活随笔為你收集整理的(转)浅谈HTML5与css3画饼图!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产免费叼嘿网站免费 | 国产精品久久综合青草亚洲AV | 成人18网站 | 国产精品999 | 国产中文在线观看 | avtt香蕉久久 | 日韩精品免费电影 | 欧美cccc极品丰满hd | 国模视频一区二区 | 奇米影视在线观看 | 国产精品一区二区三区在线播放 | 久久综合桃花网 | 国产12页 | 一级黄色性视频 | 中国成人毛片 | 日本精品久久久 | 欧美一级黄色片网站 | 波多野结衣在线观看一区二区 | 欧美激情免费在线观看 | 热播之家 | 中文字幕啪啪 | 丰满少妇一区二区三区专区 | 久久久久久久久久久久97 | 亚洲国产日本 | 污视频在线观看网站 | 久久免费的精品国产v∧ | 亚洲国产精品自拍 | 白浆影院| 人妻射精一区二区 | 亚洲欧美另类在线 | 在线少妇 | 欧美熟妇另类久久久久久多毛 | 一区二区啪啪啪 | 麻豆三级在线观看 | 欧洲成人在线视频 | 日韩免费网 | 91理论片午午伦夜理片久久 | 亚洲人成电影在线 | 国自产拍偷拍精品啪啪一区二区 | 丰满人妻一区二区三区46 | 无码精品人妻一区二区三区湄公河 | 国产在线观看不卡 | 精品久久精品 | 国产r级在线 | 黄色一级生活片 | 欧美日韩亚洲国产综合 | 2025中文字幕 | 亚洲精品综合在线观看 | 99精彩视频| 国产大奶 | 中文字幕一区二区三区门四区五区 | 在线免费av网站 | 国产亚洲精品久久久久婷婷瑜伽 | 91看片网| 成人在线小视频 | 小情侣高清国产在线播放 | 国产精品久久久久久久久免费软件 | 国产精品久久久久久久久久久久久久久久久久 | 久久天天操| 亚洲久草 | 国产精品入口麻豆 | 91视频入口 | 免费毛片在线 | 久久香视频 | 在线一级片| 色久天堂 | 性生交大片免费看 | 国内成人自拍视频 | 九热精品视频 | 91狠狠干 | xxxx黄色| 一级片免费在线播放 | 成人爱爱网站 | 国产美女主播在线观看 | 在线成人| 久久青青草原亚洲av无码麻豆 | 男男在线观看 | 毛片网站大全 | 亚洲欧美中文日韩在线 | 精品人妻少妇嫩草av无码专区 | 久久久久久久久99精品 | 二区免费视频 | 亚洲aaaaaa| 成人日韩精品 | 成人午夜淫片100集 伊人久久国产 | 国产18禁黄网站免费观看 | 99热精品国产 | 女同调教视频 | av免费在线观看网址 | 夜夜天天 | 国模私拍在线 | 中文字幕亚洲欧美日韩在线不卡 | 久久久久国产精品一区 | 丝袜 亚洲 另类 欧美 重口 | 影音先锋毛片 | 国产精品国产一区 | 欧美打屁股 | 日韩欧美一区二区三区在线观看 | 羞羞的软件 |