大佬教程收集整理的这篇文章主要介绍了html5 canvas简单封装一个echarts实现不了的饼图,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我用echars很久了,如果出现如上图所示样式的饼图,我用echarts很难实现,官方给的文档没有这种模式的饼图。试过用d3和canvas分别画饼图,因为本人对canvas比较熟悉和d3还要引入插件,本着轻量化的原则,所以采用canvas封装。
官方饼图两种模式:(1)半径模式(2)面积模式
(1)封装的函数如下:
{ return { name: v.name, value: (v.value) * 1.0 / sum } }) for (let i = 0; i < data_arr.length; i++) { 绘制饼图="" let min =" (cW "> cH ? cH : cW); //获取canvas宽高的最小值 agl = data_arr[i].value * pi2 + startAgl; //终点 c.strokeStyle = color_arr[i]; c.lineWidth = data_arr[i].value * min * 0.3; // 线的粗细 c.beginPath(); c.arc(cW / 2, cH / 2, min * 0.3, startAgl, agl, falsE); //画圆 c.stroke(); c.closePath(); startAgl = agl; //绘制图例 c.fillStyle = color_arr[i]; c.fillRect(cW * 0.8, 50 + 18 * i, 16, 16); c.fillText(data_arr[i].name, cW * 0.8 + 20, 62 + 18 * i); } } data_arr.length; i++) {>
(2)调用方式:
内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。
以上是大佬教程为你收集整理的html5 canvas简单封装一个echarts实现不了的饼图全部内容,希望文章能够帮你解决html5 canvas简单封装一个echarts实现不了的饼图所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。