什么是 Bubble Chart(气泡图)?
Bubble Chart(气泡图)是一种数据可视化图表,用于展示三维数据。与散点图类似,气泡图在二维平面上绘制数据点,但每个数据点的大小由第三个变量决定。气泡图通常用于展示以下类型的数据:
- X轴:表示第一个变量。
- Y轴:表示第二个变量。
- 气泡大小:表示第三个变量(通常用于表示数量、比例等)。
使用 VBA 创建一个表格并生成气泡图的案例
以下是一个使用 VBA 在 Excel 中创建表格并生成气泡图的示例代码。该代码将创建一个包含多个数据系列的气泡图,并展示如何自定义图表的外观。
我们可以通过 VBA 动态生成一些随机数据,然后基于这些数据创建气泡图。以下是一个完整的 VBA 示例代码,它会在新的工作表中生成随机数据,并基于这些数据创建一个气泡图。
VBA 代码示例:动态生成随机数据并创建气泡图
Sub CreateBubbleChartWithRandomData()
Dim ws As Worksheet
Dim chartObj As ChartObject
Dim lastRow As Long
Dim i As Integer
' 创建一个新的工作表
Set ws = ThisWorkbook.Worksheets.Add
ws.Name = "BubbleChartData"
' 生成表头
With ws
.Cells(1, 1).Value = "X轴"
.Cells(1, 2).Value = "Y轴"
.Cells(1, 3).Value = "气泡大小"
' 生成随机数据
For i = 2 To 11
.Cells(i, 1).Value = Int(Rnd() * 100) ' X轴数据 (0-100)
.Cells(i, 2).Value = Int(Rnd() * 100) ' Y轴数据 (0-100)
.Cells(i, 3).Value = Int(Rnd() * 20) + 5 ' 气泡大小 (5-25)
Next i
' 获取最后一行
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
End With
' 创建气泡图
Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=400, Top:=50, Height:=300)
With chartObj.Chart
.ChartType = xlBubble
.SetSourceData Source:=ws.Range("A1:C" & lastRow)
.HasTitle = True
.ChartTitle.Text = "随机数据气泡图"
' 自定义X轴和Y轴标题
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Text = "X轴"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Text = "Y轴"
' 自定义气泡图的外观
.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(0, 0, 255) ' 设置气泡颜色为蓝色
.SeriesCollection(1).Format.Fill.Transparency = 0.3 ' 设置透明度
.SeriesCollection(1).HasDataLabels = True ' 显示数据标签
End With
' 调整图表位置
chartObj.Left = ws.Range("E1").Left
chartObj.Top = ws.Range("E1").Top
' 自动调整列宽
ws.Columns("A:C").AutoFit
MsgBox "随机数据气泡图创建完成!"
End Sub
代码说明:
- 创建新工作表:
- 使用 Worksheets.Add 创建一个新的工作表,并命名为 BubbleChartData。
- 生成随机数据:
- 在 A1:C1 列中设置表头(X轴、Y轴、气泡大小)。
- 使用 Rnd() 函数生成随机数据:X轴 数据范围:0 到 100。Y轴 数据范围:0 到 100。气泡大小 数据范围:5 到 25。
- 创建气泡图:
- 使用 ChartObjects.Add 方法在工作表中添加一个气泡图。
- 设置图表的数据源为 A1:C11。
- 设置图表的标题为 随机数据气泡图。
- 自定义图表:
- 设置 X 轴和 Y 轴的标题。
- 自定义气泡的颜色为蓝色,并设置透明度为 0.3。
- 显示数据标签。
- 调整图表位置:
- 将图表放置在 E1 单元格的右侧。
- 自动调整列宽:
- 自动调整 A:C 列的宽度以适应数据。
运行代码:
- 打开 Excel,按 Alt + F11 打开 VBA 编辑器。
- 在 VBA 编辑器中,插入一个新模块(Insert > Module)。
- 将上述代码粘贴到模块中。
- 按 F5 运行代码。