这篇文章主要介绍了canvas怎么实现2d环形统计图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇canvas怎么实现2d环形统计图文章都会有所收获,下面我们一起来看看吧。中间得环形图以及里面的文字就是通过 canvas 2d 绘制出来的,下面看代码。WXML这里并不需要多少代码,但是 type 和免费云主机域名 id 一定要,而且记得 class 指定宽高。WXSS这里就是上面说的指定宽高了,暂时先用 px 作为单位,其他不知道会不会有问题。JS这里写的有些复杂了,但是复杂的东西能学到的也多吧,在组件中使用都掌握了,在 Page 中使用那就得心应手了,下面详细讲讲。实际上绘制图表并不需要这么多的代码,在Page也好,在组件页面也好,其实只需要在需要绘制的时候调用上面 js 中 drawPieChart 代码即可,前面是旧版本的canvas,后面注释的是 canvas 2d的写法,可以对比看看,还是有些去别的,特别是字体大小坑了我一把。但是为什么要写这么多代码呢?还是解决一些出现的问题,下面详细介绍。下拉刷新会造成画两个不同大小的饼图问题很奇怪,而且只在某些机型出现。仔细研究一下发现这个问题是因为绘制图表的时候,多次调用一次性生成图表函数造成的,即每次获取到的 canvas 对象可能不太一样了,具体什么不一样了,我就没有仔细研究了,可能是页面发生了变化造成的。这里的解决办法就是只获取一次 canvas,后面就用它不停的绘制图表,当绘需要制新的图表时,清空原来内容并绘制。首先提取出一个函数获取 canvas,这个函数要在 page 的 onReady中监听,这里再组件中也可以在 lifetimes 的 ready 方法中监听,都是一样的。获取到 canvas 对象后设置为全局变量,后面绘制的的时候取这个变量绘制就可以了。这里我们把 getCanvas 写在了组件页面第一次显示时触发,原因看下面问题。首次进来页面图表无法加载这个问题是我们自定义的底部导航栏引入的,因为组件页面的出现后就被设置成了隐藏状态,所以 canvas 并没有获得到宽高,导致图表不显示。解决办法就是在组件页面第一次显示的时候触发 getCanvas 函数,这里监听 show 属性的写法可以参考我前面自定义底部导航栏的博客,就不详述了。第一次显示的问题,用到了一个全局变量,一旦触发了,这个变量就永久设置为 false,使 getCanvas 函数不会再次执行。同时,在第一次获取数据时因为 canvas 未获取到,应该暂时不绘制图表,当第一次进入页面后,拿到 canvas 对象了,再进行绘制。后面在拉取数据,例如下拉刷新,因为 canvas 已经获取到了,就不用特殊处理了。图表数据处理这里还碰到一个很奇怪的问题,就是我一开始把数据的百分比算成四位小数,在页面绑定的时候乘上100加上百分号再显示,按理来说应该显示小数点后两位的百分比值,可实际却是取小数点后两位并不生效,小数点后面取了十几位,可能时在页面计算的时候出了问题。所以这里最好在 JS 中算好值,保留小数点后几位,再进行数据绑定。计算的时候,分母不为零千万别忘了。关于“canvas怎么实现2d环形统计图”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“canvas怎么实现2d环形统计图”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。
本文小编为大家详细介绍“win7上如何快速搭建php运行环境”,内容详细,步骤清晰,细节处理妥当,希望这篇“win7上如何快速搭建php运行环境”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 第一步:安装Web服务器要在Window…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。