交换柱状图的X轴和Y轴,得到的就是条形图。柱状图中的柱形是立起来的,条形图中的条形则是水平方向放置的。对应的,条形图中Y轴是分类轴。
二维条形图
\[\]
图4-22 二维条形图
下面用Excel文件data.xlsx中的数据绘制二维条形图。完整代码见:Samples->ch06 分类型图表->42 简单条形图->py.py。
code.vba
Sub CreateChart()
Dim cht As Chart
ActiveSheet.Range("A2:B8").Select '数据
Set cht = ActiveSheet.Shapes.AddChart2(-1, _
xlBarClustered, 200, 20, 250, 350, True).Chart
cht.ChartGroups(1).GapWidth = 50
SetStyle cht
End Sub
Sub CreateChart2()
Dim cht As Chart
ActiveSheet.Range("A2:C8").Select '数据
Set cht = ActiveSheet.Shapes.AddChart2(-1, _
xlBarClustered, 200, 20, 250, 350, True).Chart
cht.ChartGroups(1).GapWidth = 50
SetStyle cht
End Sub
运行代码生成图4-22。
\[\]
图4-23 三维复合条形图
下面用Excel文件data.xlsx中的数据绘制三维复合圆锥状条形图。完整代码见:Samples->ch06 分类型图表->45 复合条形图2->py.py。
code.vba
Sub CreateChart3()
Dim cht As Chart
ActiveSheet.Range("A2:B8").Select '数据
Set cht = ActiveSheet.Shapes.AddChart2(-1, _
xlConeBarClustered, 200, 20, 250, 350, True).Chart
cht.ChartGroups(1).GapWidth = 50
SetStyle cht
End Sub
下面用Excel文件data.xlsx中的数据绘制三维复合圆柱状条形图。完整代码见:Samples->ch06 分类型图表->46 复合条形图2->py.py。
code.vba
Sub CreateChart4()
Dim cht As Chart
ActiveSheet.Range("A2:C8").Select '数据
Set cht = ActiveSheet.Shapes.AddChart2(-1, _
xlConeBarClustered, 200, 20, 250, 350, True).Chart
cht.ChartGroups(1).GapWidth = 50
SetStyle cht
End Sub
堆叠条形图
\[\]
图4-24 堆叠条形图
下面用Excel文件data.xlsx中的数据绘制二维堆叠条形图。完整代码见:Samples->ch06 分类型图表->48 堆叠条形图->py.py。
code.vba
Sub CreateChart()
Dim cht As Chart
ActiveSheet.Range("A2:C8").Select '数据
Set cht = ActiveSheet.Shapes.AddChart2(-1, _
xlBarStacked, 200, 20, 250, 350, True).Chart
cht.ChartGroups(1).GapWidth = 50
SetStyle cht
End Sub
下面用Excel文件data.xlsx中的数据绘制三维堆叠圆锥状条形图。完整代码见:Samples->ch06 分类型图表->49 堆叠条形图2->py.py。
code.vba
Sub CreateChart2()
Dim cht As Chart
ActiveSheet.Range("A2:C8").Select '数据
Set cht = ActiveSheet.Shapes.AddChart2(-1, _
xlConeBarStacked, 200, 20, 250, 350, True).Chart
cht.ChartGroups(1).GapWidth = 50
SetStyle cht
End Sub
百分比堆叠条形图
\[\]
图4-25 百分比堆叠条形图
下面用Excel文件data.xlsx中的数据绘制二维百分比堆叠条形图。完整代码见:Samples->ch06 分类型图表->52 百分比堆叠条形图->py.py。
code.vba
Sub CreateChart()
Dim cht As Chart
ActiveSheet.Range("A2:C8").Select '数据
Set cht = ActiveSheet.Shapes.AddChart2(-1, _
xlBarStacked100, 200, 20, 250, 350, True).Chart
cht.ChartGroups(1).GapWidth = 50
SetStyle cht
End Sub
下面用Excel文件data.xlsx中的数据绘制三维百分比堆叠圆锥状条形图。完整代码见:Samples->ch06 分类型图表->53 百分比堆叠条形图2->py.py。
code.vba
Sub CreateChart2()
Dim cht As Chart
ActiveSheet.Range("A2:C8").Select '数据
Set cht = ActiveSheet.Shapes.AddChart2(-1, _
xlConeBarStacked100, 200, 20, 250, 350, True).Chart
cht.ChartGroups(1).GapWidth = 50
SetStyle cht
End Sub