饼图常用于表示分类变量的唯一值占总体的百分比。可以用Excel绘制二维饼图和三维饼图。可以在饼图的基础上可以进行美化,比如改变配色,设置透明度等。
二维饼图
图4-33 二维饼图 图4-34 带分离扇区的二维饼图
下面用Excel文件data.xlsx中的数据绘制二维饼图。完整代码见:Samples->ch06 分类型图表->64 二维饼图->py.py。
#... 省略部分代码
sht.api.Range('A2:B7').Select() #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlPie,20,20,250,250,True)
cht=shp.Chart #获取图表
运行代码生成图4-33。
用Excel绘制带分离扇区的二维饼图。
下面用Excel文件data.xlsx中的数据绘制有分离扇区的二维饼图。完整代码见:Samples->ch06 分类型图表->65 二维饼图2->py.py。
#... 省略部分代码
sht.api.Range('A2:B7').Select() #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlPie,20,20,250,250,True)
cht=shp.Chart #获取图表
cht.SeriesCollection(1).Points(2).Explosion=16 #第2个扇区分离显示
运行代码生成图4-34。
饼图扇区明细
Excel中可以用另外一个饼图或一个堆叠柱状图表示饼图中一个扇区的组成明细。
图4-35 用饼图表现饼图扇区明细
下面用Excel文件data.xlsx中的数据绘制图4-35。完整代码见:Samples->ch06 分类型图表->66 饼图扇区明细->py.py。
#... 省略部分代码
sht.api.Range('A2:B11').Select() #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlPieOfPie,20,20,350,250,True)
cht=shp.Chart #获取图表
运行代码生成图4-35。
图4-36 二维饼图
下面用Excel文件data.xlsx中的数据绘制图4-36。完整代码见:Samples->ch06 分类型图表->67 饼图扇区明细2->py.py。
#... 省略部分代码
sht.api.Range('A2:C11').Select() #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlBarOfPie,20,20,350,250,True)
cht=shp.Chart #获取图表
运行代码生成图4-36。
三维饼图
用Excel可以轻松绘制三维饼图。
图4-37 三维饼图 图4-38 带分离扇区的三维饼图
下面用Excel文件data.xlsx中的数据绘制三维饼图。完整代码见:Samples->ch06 分类型图表->68 三维饼图->py.py。
#... 省略部分代码
sht.api.Range('A2:B7').Select() #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xl3DPie,20,20,250,250,True)
cht=shp.Chart #获取图表
运行代码生成图4-37。
下面用Excel文件data.xlsx中的数据绘制带分离扇区的三维饼图。完整代码见:Samples->ch06 分类型图表->69 三维饼图-分离->py.py。
#... 省略部分代码
sht.api.Range('A2:B7').Select() #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xl3DPie,20,20,250,250,True)
cht=shp.Chart #获取图表
cht.SeriesCollection(1).Points(2).Explosion=16 #第2个扇区分离显示
运行代码生成图4-38。