条形图

交换柱状图的X轴和Y轴,得到的就是条形图。柱状图中的柱形是立起来的,条形图中的条形则是水平方向放置的。对应的,条形图中Y轴是分类轴。

二维条形图

Document Image Document Image

图4-22 二维条形图

下面用Excel文件data.xlsx中的数据绘制二维条形图。完整代码见:Samples->ch06 分类型图表->42 简单条形图->py.py。

code.python
#... 省略部分代码
sht.api.Range('A2:B8').Select()  #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlBarClustered,20,20,250,350,True)
cht=shp.Chart    #获取图表
cht.ChartGroups(1).GapWidth=50    #条形面间距为条形高度的50%
#... 省略部分代码
sht.api.Range('A2:C8').Select()  #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlBarClustered,20,20,250,350,True)
cht=shp.Chart    #获取图表
cht.ChartGroups(1).GapWidth=50    #分组之间的间距为条形高度的50%

运行代码生成图4-22。

Document Image Document Image

图4-23 三维复合条形图

下面用Excel文件data.xlsx中的数据绘制三维复合圆锥状条形图。完整代码见:Samples->ch06 分类型图表->45 复合条形图2->py.py。

code.python
#... 省略部分代码
sht.api.Range('A2:C8').Select()  #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlConeBarClustered,20,20,250,350,True)
cht=shp.Chart    #获取图表
cht.ChartGroups(1).GapWidth=50    #分组之间的间距为条形高度的50%

下面用Excel文件data.xlsx中的数据绘制三维复合圆柱状条形图。完整代码见:Samples->ch06 分类型图表->46 复合条形图2->py.py。

code.python
#... 省略部分代码
sht.api.Range('A2:C8').Select()  #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlCylinderBarClustered,\
20,20,250,350,True)
cht=shp.Chart    #获取图表
cht.ChartGroups(1).GapWidth=50    #分组之间的间距为条形高度的50%

堆叠条形图

Document Image Document Image

图4-24 堆叠条形图

下面用Excel文件data.xlsx中的数据绘制二维堆叠条形图。完整代码见:Samples->ch06 分类型图表->48 堆叠条形图->py.py。

code.python
#... 省略部分代码
sht.api.Range('A2:D7').Select()  #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlBarStacked,20,20,250,350,True)
cht=shp.Chart    #获取图表
cht.ChartGroups(1).GapWidth=50    #分组之间的间距为条形高度的50%

下面用Excel文件data.xlsx中的数据绘制三维堆叠圆锥状条形图。完整代码见:Samples->ch06 分类型图表->49 堆叠条形图2->py.py。

code.python
#... 省略部分代码
sht.api.Range('A2:D7').Select()  #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlConeBarStacked,20,20,250,350,True)
cht=shp.Chart    #获取图表
cht.ChartGroups(1).GapWidth=50    #分组之间的间距为条形高度的50%

百分比堆叠条形图

Document Image Document Image

图4-25 百分比堆叠条形图

下面用Excel文件data.xlsx中的数据绘制二维百分比堆叠条形图。完整代码见:Samples->ch06 分类型图表->52 百分比堆叠条形图->py.py。

code.python
#... 省略部分代码
sht.api.Range('A2:D7').Select()  #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlBarStacked100,20,20,250,350,True)
cht=shp.Chart    #获取图表
cht.ChartGroups(1).GapWidth=50    #分组之间的间距为条形高度的50%

下面用Excel文件data.xlsx中的数据绘制三维百分比堆叠圆锥状条形图。完整代码见:Samples->ch06 分类型图表->53 百分比堆叠条形图2->py.py。

code.python
#... 省略部分代码
sht.api.Range('A2:D7').Select()  #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlConeBarStacked100,20,20,250,350,True)
cht=shp.Chart    #获取图表
cht.ChartGroups(1).GapWidth=50    #分组之间的间距为条形高度的50%