12.8.3多系列饼图

类似累积柱图,饼图中也可以使用多个系列的数据,但是需要注意的是,和累积柱图不同,在多系列饼图中,每个系列的累积结果都是一个整圆或整圆环,因此实际上多系列饼图绘制的是多系列的占比图。如下面的体操各单项成绩占比扇图,为了便于查看数据,画法中A7绘制了图例:

 

A

1

=canvas()

2

=demo.query("select * from GYMSCORE order by NAME,EVENT")

3

=A1.plot("BackGround")

4

=A1.plot("EnumAxis","name":"x","location":3,"polarX":0.55,"polarY": 0.4,"allowLabels":false)

5

=A1.plot("NumericAxis","name":"y","location":4,"allowLabels":false)

6

=A1.plot("Sector","axis1":"x","data1":A2.(NAME+","+EVENT),"axis2": "y","data2":A2.(SCORE))

7

=A1.plot("Legend","legendText":A2.id(EVENT),"columns":2,"x":0.2,"y":0.8)

8

=A1.draw@p(400,400)

在这里,仍然用枚举轴做极轴x,数值轴做角轴yA6中环图元的数据属性如下,注意其中的Data1,由分类数据“项目”和系列数据“姓名”共同组成:

A8的绘图结果如下:

可见,在多系列饼图中,极轴上的数据需要同时包括分类数据与系列数据。绘制时每个分类的数据会绘制为一个圆形或者一个环形。另外,此时用引导线拉出的标注将改为不同的分类。

默认情况下,环图元会绘制出占比饼图,此时在图中只能读出各位运动员分项目的占比情况。如果修改A6中环图元绘制时的堆积方式属性,如下:

这里将Stock type属性由默认的Stacked by percent改为了Stacked by value,这样在绘制时每个分类的数据会按照统计值累积,绘制结果如下:

可以看到,按统计值累积时,各运动员的图形将按分数累积绘制,绘制的结果也不再是整圆或整圆环。在这种情况下,与普通的堆积柱图类似,也可以从图中看出各运动员总分的比较情况。