我想在 Excel 中创建一个包含 8 个扇区的圆形图表,如下例所示:
我想要的是像雷达图那样的实际值,而不是像饼图那样的百分比。
不使用宏可以吗?
答案1
本演练基于Andy Pope 的原创教程这里。假设这是您开始使用的数据。在创建图表之前,我们需要进行一些数据处理。
在您的示例中,我们希望所有扇区都具有相同的大小,但让我们使事情变得灵活并添加扇区权重列。例如,如果您希望“WORK”显示为两倍/三倍/四倍大小的切片,只需将扇区权重更改为 2/3/4 等。
现在我们需要计算每个部门需要覆盖的切片比例。添加一个名为“360 的百分比”的列,将部门权重除以所有部门权重的总和。
=C2/SUM($C$2:$C$9)
接下来,我们需要计算每个扇区覆盖的起始和终止角度。添加“起始角度”列。在顶行输入 0,然后对于下面的每一行,参考上面的单元格。
在‘完成角度’列中,将‘360 的百分比’的累计数字乘以 360。
现在,让雷达图认为它是饼图的技巧是为圆圈内 360 度中的每一个创建数据点。
让我们扩展我们的表格,每个角度有一列(在我的示例中为灰色阴影)。对于每个单元格,添加一些逻辑来检查该列的角度是否被起始/最终角度覆盖 - 如果是,则返回该行的值。确保将此复制到 0-360 度的所有行和列。
=IF(AND(G$1>=$E2,G$1<=$F2),$B2,0)
(注意 - 如果您使用的是 Excel 2003 或更早版本,则需要翻转此表以使表垂直(转置),因为此方法使用的列数大于旧版本 Excel 允许的数量。)
现在我们可以考虑图表了。为了灵活起见,我们在最终角度和 0-360 度之间添加一个“图表标签”列。我只会引用 A 列中的标题,但您可能想在此处自定义它们。
选择“图表标签”和 0-360 列下的所有单元格(本例中为 G2:ND9)。插入图表 - 在雷达图表选项下选择最后一个 - “填充雷达”。您将获得此信息。
删除图例和圆形数据标签(黄色突出显示)。右键单击剩余的轴并选择“设置轴格式”。将主单位固定为 10(您的最大值),将次单位固定为 1。关闭对话框,然后删除图表上的轴编号。
打开主要和次要水平网格线:
现在我们的图表如下所示。
将主网格线的线宽设置为 2pt,外圆边框为黑色。如果要使线段显示次网格线,则需要更改每个线段的填充颜色并设置透明度(大约 20-40% 的透明度即可)。
要获得径向段边框,我们需要添加一个新系列。将标题设置为单元格 C1(“部门权重”),并将值设置为 C 列中的行(C2:C9)。将水平类别轴标签设置为图表标签(G2:G9)。
将此新系列的图表类型更改为饼图。删除饼图部分的填充并添加黑色边框。为饼图系列添加数据标签,选择类别名称而不是值,并将位置设置为外部结束。
编辑(2014 年 9 月 30 日):工作簿是可在此处下载按照 Firee 的要求。
编辑 2 (2015 年 3 月 25 日): 米哈伊洛指出这项技术可以稍微改进:
图表最终以逆时针方向略微偏移(如上图所示,红色在垂直方向有间隙,但覆盖了 300 度的边界)。这是因为蜘蛛图总是落后一个(即 1 度绘制在 2 度,2 度绘制在 3 度,依此类推),
解决此问题的快速方法是将完成角度 (F2) 的公式从 更改
=360*SUM($D$2:D2)
为=360*SUM($D$2:D2)+1
,并将最后一系列的第一个点的公式更改为与最后一系列的最后一个点相同(在上面的示例中,将单元格 H9 公式设为 =ND9。