条形图

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

二维条形图

Document Image Document Image
\[\]

图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。

Document Image Document Image
\[\]

图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

堆叠条形图

Document Image Document Image
\[\]

图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

百分比堆叠条形图

Document Image Document Image
\[\]

图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