html一個頁面同時加載多個餅圖,Html5餅圖繪制實現統計圖的方法

Html5提供了強大的繪圖API,讓我們能夠使用javascript輕松繪制各種圖形。本文將主要講解使用HTML5繪制餅圖(統計圖)的方法。先看一下餅圖效果:

這個圖是動態生成的,根據傳入的比例參數(數組),來動態繪制餅圖。餅圖的大小也是根據高度來動態調整的。

全部代碼如下:

Canvas測試

//繪制餅圖

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.05, 0.25, 0.6, 0.1];

var color_arr = ["#00FF21", "#FFAA00", "#00AABB", "#FF4400"];

var text_arr = ["第一季度", "第二季度", "第三季度", "第四季度"];

drawCircle("canvas_circle", data_arr, color_arr, text_arr);

}

//頁面加載時執行init()函數

window.onload = init;

HTML5繪制餅圖演示

瀏覽器不支持canvas

這個函數可以直接使用,如果想做的更漂亮,可以增加一些額外的美觀繪制。

本代碼最大的靈活性是將繪制參數與繪制代碼分離,餅圖大小根據Canvas容器高度自動調整。傳遞參數方式如下:

var data_arr = [0.05, 0.25, 0.6, 0.1]; //比例數據

var color_arr = ["#00FF21", "#FFAA00", "#00AABB", "#FF4400"]; //顏色

var text_arr = ["第一季度", "第二季度", "第三季度", "第四季度"]; //文字

//繪制餅圖

drawCircle("canvas_circle", data_arr, color_arr, text_arr);

到此這篇關于Html5餅圖繪制實現統計圖的方法的文章就介紹到這了,更多相關Html5餅圖統計圖內容請搜索以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持! ad51e517755f8fd6a7ec83ced4ecfaf3.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/445719.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/445719.shtml
英文地址,請注明出處:http://en.pswp.cn/news/445719.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

html中半透明效果,CSS半透明效果的屬性和場景

在CSS中與半透明效果相關的屬性有兩個&#xff1a;opacity和rgba。opacity屬性的值規定透明度。從 0.0 (完全透明)到 1.0(完全不透明)。設置opacity元素的所有后代元素會隨著一起具有透明性&#xff0c;一般用于調整圖片或者模塊的整體不透明度。IE8 以及更早的版本支持替代的 …

swift解析html數據類型,ios-Swift:以標簽或textVi顯示HTML數據

ios-Swift&#xff1a;以標簽或textVi顯示HTML數據我有一些HTML數據&#xff0c;其中包含標題&#xff0c;段落&#xff0c;圖像和列表標簽。有沒有一種方法可以在一個UITextView或UILabel中顯示此數據&#xff1f;12個解決方案146 votes對于Swift 4&#xff1a;extension Stri…

HTML5新增的video標簽,HTML5中video標簽的使用方法

HTML5中video標簽的使用方法發布時間&#xff1a;2020-08-27 11:33:56來源&#xff1a;億速云閱讀&#xff1a;100作者&#xff1a;小新這篇文章將為大家詳細講解有關HTML5中video標簽的使用方法&#xff0c;小編覺得挺實用的&#xff0c;因此分享給大家做個參考&#xff0c;希…

開封高級高考2021成績查詢,2021開封市地區高考成績排名查詢,開封市高考各高中成績喜報榜單...

距離2018年高考還有不到一個月的時間了&#xff0c;很多人在準備最后沖刺的同時&#xff0c;也在關心高考成績。2018各地區高考成績排名查詢,高考各高中成績喜報榜單尚未公布&#xff0c;下面是往年各地區高考成績排名查詢,高考各高中成績喜報榜單&#xff0c;想要了解同學可以…

html 5 筆記,HTML5總筆記(一)

一、p、hn、br標簽1&#xff0e;2&#xff0e; &#xff1a;注釋。3&#xff0e; &#xff1a;一行&#xff0c;一段(在文字后面直接加)。4&#xff0e;&#xff1a;文字中的最大字符(自動換行)。5&#xff0e; &#xff1a;文字中的最大字符(自動換行)。二、b、i、u、s、su…

【清華大學】《邏輯學概論》筆記

教學視頻來源 ----第0講 概要-0.1 講師介紹0.2 課程內容--第1講 什么是邏輯學&#xff1f;-1.1 “邏輯和邏輯學1.2 推理和推理形式1.3 有效推理形式1.4 邏輯學的特點1.5 邏輯學的基本準則1.6 邏輯學和其他學科的關系1.7 關于本課程《邏輯學概論》---第2講 邏輯學的產生與發展-…

公用計算機管理,如何管理公用計算機和私人計算機的文件訪問

如何管理公用計算機和私人計算機的文件訪問08/07/2014本文內容適用于&#xff1a; Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007上一次修改主題&#xff1a; 2011-08-01本主題將介紹如何為 Microsoft Exchange Server…

Spring Boot 2 學習筆記(1 / 2)

Spring Boot 2 學習筆記&#xff08;2 / 2&#xff09; ---01、基礎入門-SpringBoot2課程介紹02、基礎入門-Spring生態圈03、基礎入門-SpringBoot的大時代背景04、基礎入門-SpringBoot官方文檔架構05、基礎入門-SpringBoot-HelloWorld06、基礎入門-SpringBoot-依賴管理特性07、…

關于計算機展覽的英語作文,2015考研英語作文范文精選:選什么東西參加展覽?...

距離考研初試只剩十幾天的時間&#xff0c;備考時間可謂相當緊張&#xff0c;考研英語作文的復習是2015考研考前最后沖刺的重點任務之一&#xff0c;在此分享2015考研英語作文范文精選&#xff1a;選什么東西參加展覽?希望能夠幫助大家更好的備考。2015考研英語作文范文精選&a…

Spring Boot 2 學習筆記(2 / 2)

Spring Boot 2 學習筆記&#xff08;1 / 2&#xff09; ---45、web實驗-抽取公共頁面46、web實驗-遍歷數據與頁面bug修改47、視圖解析-【源碼分析】-視圖解析器與視圖48、攔截器-登錄檢查與靜態資源放行49、攔截器-【源碼分析】-攔截器的執行時機和原理50、文件上傳-單文件與多…

職校學計算機對口高考可以考幼師嗎,幼師專業對口高考考那些

技校網專門為您推薦的類似問題答案問題1&#xff1a;幼師專業對口高考1,幼教要考的內容很多的&#xff0c;比如音樂&#xff0c;舞蹈&#xff0c;心理衛生&#xff0c;教法等等很多的&#xff0c;其中音樂就要考聲樂&#xff0c;樂理&#xff0c;視唱等等???2&#xff0c;如…

寫出表格的結構html,一個面試題,根據json結構生成html表格

我的輸入是{A1: {B1: {C1: {D1: 1233,D2: 11},C2: {D1: 10,D2: 10}},B2: {C1: {D1: 10,D2: 11},C2: {D1: 10,D2: 10},C3: {D1: 10,D2: 10}}}}用什么框架都可以&#xff0c;只要求輸出以下table&#xff0c; json的最后一個節點就是table的最后一個column&#xff0c;并且只能占…

how to learn html5,HTML5與CSS基礎

你將學到什么How to write a Web pageConcepts of a markup languageBasics of HTML5 and CSSWeb design and stylePage layout and flexbox課程概況This course is part of W3C’s “Front-End Web Developer” Professional Certificate.Learn the basics of Web design and …

單元測試中使用Mockito模擬對象

單元測試應該小巧玲瓏&#xff0c;輕盈快捷。然而&#xff0c;一個待測的對象可能依賴另一個對象。它可能需要跟數據庫、郵箱服務器、Web Service、消息隊列等服務進行交互。但是&#xff0c;這些服務可能在測試過程中不可用。假設這些服務可用&#xff0c;依賴這些服務的單元測…

足球點球 html5,身為西甲第一點球手,C羅只有5次讓點經歷,難怪點球破門過百...

當今足壇是C羅和梅西的天下&#xff0c;兩人持續不斷的刷新創造各種記錄&#xff0c;讓球迷應接不暇。比梅西大2歲的C羅近期更是開掛&#xff0c;今天說他的點球。C羅現在是西甲歷史上的第一點球手本賽季西甲第21輪&#xff0c;皇馬客場4-1大勝瓦倫西亞&#xff0c;C羅在比賽中…

Spring Cloud 學習筆記(2 / 3)

Spring Cloud 學習筆記&#xff08;1 / 3&#xff09; Spring Cloud 學習筆記&#xff08;3 / 3&#xff09; ---56_Hystrix之全局服務降級DefaultProperties57_Hystrix之通配服務降級FeignFallback58_Hystrix之服務熔斷理論59_Hystrix之服務熔斷案例(上)60_Hystrix之服務熔斷…

html5的colgroup,HTML colgroup 標簽 | 菜鳥教程

HTML 標簽實例 和 標簽為表格中的三個列設置了背景色&#xff1a;ISBNTitlePrice3476896My first HTML$53嘗試一下 瀏覽器支持所有主流瀏覽器都支持 標簽。標簽定義及使用說明 標簽用于對表格中的列進行組合&#xff0c;以便對其進行格式化。通過使用 標簽&#xff0c;可以向…

Spring Cloud 學習筆記(3 / 3)

Spring Cloud 學習筆記&#xff08;1 / 3&#xff09; Spring Cloud 學習筆記&#xff08;2 / 3&#xff09; ---108_Nacos之Linux版本安裝109_Nacos集群配置(上)110_Nacos集群配置(下)111_Sentinel是什么112_Sentinel下載安裝運行113_Sentinel初始化監控114_Sentinel流控規則…

普林斯頓計算機科學系,普林斯頓大學計算機科學系

普林斯頓大學計算機科學系研究生階段開設有以下學位項目&#xff0c;分別是計算機科學博士&#xff1a;為期5年&#xff0c;要求申請者本科畢業&#xff0c;不限專業背景&#xff0c;但通常被錄取的學生擁有工程、理科或數學專業背景&#xff0c;未設定本科GPA要求&#xff0c;…

html5語句大全,html5基礎語句(學習)

起風了兼容性問題文檔類型設定字符設定常用新標簽新增的input type屬性值&#xff1a;常用新屬性綜合案例兼容性問題文檔類型設定documentHTMLhttp://blog.sina.com.cn/s/blog_6b38618701011csx.html(html5-api)http://blog.csdn.net/temotemo/article以多維模型為核心&#xf…