📅  最后修改于: 2023-12-03 14:58:51.721000             🧑  作者: Mango
华夫饼图是一种新型的数据可视化图表,它采用类似于蛋糕印模的design与传统饼图的结合,呈现出更加优美的效果。它适用于需要同时展示大量数据和各个数据分块之间比例关系的场景。
在Excel中使用华夫饼图需要借助Power Query和VBA,稍有一定的编程基础便可以轻松上手。本文将详细介绍如何在Excel中绘制华夫饼图。
准备区分度较高的实际数据,如下表所示:
| | 组1 | 组2 | 组3 | 组4 | 组5 | 总计 | | :-: | :-: | :-: | :-: | :-: | :-: | :-: | | A | 20 | 30 | 60 | 50 | 10 | 170 | | B | 30 | 30 | 30 | 30 | 30 | 150 | | C | 20 | 10 | 20 | 30 | 60 | 140 | | D | 50 | 10 | 20 | 20 | 20 | 120 | | E | 30 | 30 | 10 | 20 | 40 | 130 | | F | 10 | 10 | 20 | 30 | 50 | 120 | | G | 40 | 30 | 40 | 30 | 20 | 160 | | H | 10 | 20 | 40 | 10 | 20 | 100 | | I | 20 | 20 | 50 | 10 | 20 | 120 |
其中,每个组的数据需要总和为100。
使用Power Query导入数据透视表,使各组间的比例关系更加明显。步骤如下:
| 行 | 总计 | | :------ | :------- | | 组1 | 20 | | 组2 | 30 | | 组3 | 60 | | 组4 | 50 | | 组5 | 10 | | Grand | 170 | | 组1% | 11.7647% | | 组2% | 17.6471% | | 组3% | 35.2941% | | 组4% | 29.4118% | | 组5% | 5.8824% | | 总计% | 100% | | Grand% | 100% |
为了绘制华夫饼图,我们需要导入一段VBA代码。具体步骤如下:
Public Sub createWaffleChart()
Dim chtTop As Long
Dim chtLeft As Long
Dim chtHeight As Long
Dim chtWidth As Long
Dim x As Long
Dim y As Long
Dim r As Long
chtTop = Sheet1.Range("D2").Top
chtLeft = Sheet1.Range("D2").Left
chtHeight = Sheet1.Range("D2:F8").Height
chtWidth = Sheet1.Range("D2:F8").Width
' Delete any existing chart on the sheet
On Error Resume Next
Sheet1.ChartObjects("waffleChart").Delete
Set oChart = Sheet1.Shapes.AddChart2(250, xlPie, chtLeft, chtTop, chtWidth, chtHeight)
oChart.Name = "waffleChart"
For y = 5 To 1 Step -1
For x = 1 To 5
r = r + 1
If r <= Sheet1.Range("G2").Value Then
oChart.Chart.FullSeriesCollection(1).Points(r).Format.Fill.ForeColor.RGB = Sheet1.Cells(2 + y + 8 * (x - 1), 3).Interior.Color
End If
Next x
Next y
End Sub
这段代码所表达的功能是:在当前活动sheet的D2单元格中创建一个华夫饼图,并根据数据表格和Power Query表格的内容进行填充色彩。
华夫饼图不仅带来了新鲜的视觉效果,同时也帮助我们更清楚地了解数据之间的比例关系,从而更好地做出有针对性的决策。虽然在Excel中绘制华夫饼图需要借助Power Query和VBA,但随着Excel等办公软件不断发展,我们相信这些步骤会变得简单起来。