到目前为止我们已经学会了画折线图、柱状图、饼图,今天我们来做最后一个——环形图,它的作用与饼图类似,但是看起来更漂亮一些。
问题
用环形图分析洁雅超市一个月的销售数据,直观显示各品类销售比例。完成绘图后,让画笔跟随鼠标移动,移动到相应区域后,要显示出当前区域代表的品类、占总销售额的比例。
分析
我们已经会画饼图了,其实环形图是什么呢?就是把饼图中间的一个圆“挖空”了呗!你可以先画出饼图,然后画一个小点的圆,就OK了。但是这样画感觉有点奇怪,所以我们还是画饼图的方式画,不过在画的过程中,原来画每条线段的过程分成两部分,第一部分先画白色的线,第二部分再按当前序列的颜色画另一半。这样过程基本不改变(要注意画完一条线得把画笔提起来再回到原点),但画出来的就是环形。
有了饼图的代码,这节课内容非常简单。
编程
一、复用以前画饼状图的Scratch项目,只需要把原来“画饼状图”的自制积木修改成如下的代码:
二、其它不用做任何修改,运行一下,效果还不错吧?是不是So easy!
总结
我们关于统计图表的学习到这里就告一段落了,你会发现用Scratch画出来的图表还是挺漂亮的。但与此同时,相信你也会感觉到用Scratch画图的确是太麻烦了。比如列表数据的选择、颜色的自定义、不能在舞台任意文字输出文字,必须用角色来克隆等。毕竟,Scratch是一门用来进行编程训练的语言嘛,它离我们真正处理各类统计图表的编程语言还是有差距的,目前我们做的都是一种模拟程序。如果你真正使用了Python等编程语言,在数据正确提供的情况下,也许只用一行程序就把我们辛辛苦苦画半天的图表画出来了,将来你学习这些编程语言的时候,一定会非常感慨!
然而,我们用Scratch画图的目的不是真是要拿它给客户看,而是在学习一种不同场景下用编程解决问题的思路, 这些思路是通用的,既然你将来学习了其它编程语言,它们也是宝贵的经验财富。因此,努力地学习下去吧,所有的付出,都会在将来以某种形式给你回报。