12.8.1环图元及其数据属性

我们通过下面的跳马成绩饼图初步了解环图元的基本使用:

 

A

1

=canvas()

2

=demo.query("select * from GYMSCORE where Event = 'Vault'")

3

=A1.plot("BackGround")

4

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

5

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

6

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

7

=A1.draw@p(400,300)

A1中建立画布。A2中获取绘图数据如下:

A3中绘制背景,A4中绘制枚举轴作为极轴xA5中绘制数值轴作为角轴y。特别的,横轴和纵轴的Allow Labels属性均设为了false,不绘制极坐标的刻度,以防止其干扰饼图。

A6中用环图元绘制饼图,这是我们在这里主要研究的图元。

先来查看A7中的绘制结果:

环图元在绘制饼图时,每一部分都会根据数据绘制一个扇形,这相当于内径为0的环形。绘图时使用的角轴是数值轴,根据各个运动员成绩的大小,各块扇形的圆心角也不同,所有扇形会累积拼成一个圆形。因此,饼图实际上类似于12.7柱图元 中绘制过的堆积柱图。与柱图类似,每个扇形只需要一个数值点,在绘图时会自动累积计算。A6中环图元的数据属性如下:

在这里,设定的逻辑坐标A2.(NAME) A2.(SCORE) 均为序列。与绘制柱图时不同,在绘制饼图时,作为极轴的枚举轴在单系列饼图中,只按照枚举值为1的情况解析,只绘制1个饼图。