分享

同事用Excel做的环形气泡图,为什么这么漂亮?

 成已成物 2021-10-14
发送【模板】
图片

本文作者:农夫
本文审核:玛奇鹅
本文编辑:雅梨子


大家好,我是农夫,专治疑难「数」的农夫~
 
在浏览公众号文章的时候,正好看到了下面这样一张数据展示图,看起来很有创意,对于数据的展示也是一目了然~

图片

但,转念一想,Excel 作为一个数据处理能力很强的软件,难道就不能搞出来吗?

带着这样的心态,再利用手中拿到的各省七普人口数据,我决定搞一把事情~

首先,问下各位小伙伴,看到这种 31 个省市区的人口数据,你率先会想到用哪种图表来展示呢?

图片
 
你是选择这种?

图片

这种?

图片

抑或是这种?

图片

最后一张图,就是我结合网易数读上的图,用 Excel 软件绘制出来的环形气泡图,你是不是已经被吸引住了呢?
 
那么今天,我就来分享下这种环形气泡图的制作方法~
图片

绘制难点


绘制前,我们必须知道图形的构造难点在哪里,这样,我们才能更好地去发力解决。

环形气泡图绘制的难点在于以下两方面:

❶ 构建一组数列,用于将数据定位于相应的圆中(难度系数:★★★★★)

❷ 数据和省份标签的呈现(难度系数:★★★)

明确了本次绘制的难点,下面我们就开始着手解决~
图片

辅助列构建



图形的绘制在于源数据形式的正确构建,因此,在讲解正式制图之前,我们先构建出气泡环形图所需要的数据形式。

气泡图所需的数据形式

气泡图是 XY 散点图的拓展,相当于在 XY 散点图的数据基础上增加第 3 个变量,即用于展示气泡大小的数据。

因此,对于气泡图,在 Excel 中需要三列数据。

其中,用于定位的两列数据(即 X 坐标数据和 Y 坐标数据),用于展现气泡的大小的数据(人口数据)

而目前我们只有人口数据,所以,接下来,我们需要构建用于定位气泡位置的 X 坐标和 Y 坐标的辅助列。

图片

X 坐标和 Y 坐标数据


上面说到,要让所有的气泡呈现圆环形排列。

因此,需要计算出每个气泡在坐标平面上的 X 和 Y 的长度,即 X 坐标和 Y 坐标数据。

❶人口数据排序。

为了让整个圆环中的气泡面积从大到小进行排列,需要先对数据进行降序排列并标注序号~

图片

接下来,就要计算每个气泡点与 X 轴和 Y 轴的距离~

这里利用了非常简单的数学知识,即通过 COS 或 SIN 函数,在给定的半径长度中,计算与 X 轴和 Y 轴的距离。

❷ 计算弧度。

气泡点的弧度,即 Y 轴与气泡到坐标原点半径在圆上所切的弧。(以下简称弧度)

图片

计算弧度,使用 RADIANS 函数。该函数的作用是将角度数转换为弧度数(1 弧度约为 57.3°,即 57°17'44.806'')

其具体公式为:

=RADIANS(角度)
角度 = (序号/样本数量)*非空白区域度数

为了让整体图表更好看,我们留下 45 度的空白区域,剩余圆上的 315 度放置气泡~

图片

所以,用气泡所在位置的序号除以样本数量,再与总度数(315)相乘得出气泡的具体角度也就是在圆中的位置。

比如,有 31 个省份放置在 315 度的圆上,就是将圆的 315 度对应为 31 小块,然后每块占一个位置。

图片

以排名第 6 的河北为例,可以计算出展示河北人口数量的气泡的弧度数:

0.886739861900345 =RADIANS(6/31*315)
▲ 左右滑动查看

❸ 获得弧度后,我们就可以利用 COS 和 SIN 函数来计算三角形相关边长了:
 
余弦(COS),在直角三角形中,∠A 的相邻的非斜边比斜边之这种,叫做∠A 的余弦,记作 cosA,即 cosA=∠A 的临边/斜边。即:

AO(Y 轴)= OC(半径)*COS(弧度)

图片

我们依旧以排名第 6 的河北为例,计算 Y 轴的长度:

=3*COS(RADIANS(A7/31*315))

正弦(SIN),在直角三角形中,∠A 正对着的边与斜边的比叫做∠A 的正弦,记作 SINA,即 SINA=∠A 正对着的边/斜边。即:

BO(X 轴)= OC(半径)* SIN(弧度)

图片

以排名第 6 的河北为例,计算 X 轴的长度:

=3*SIN(RADIANS(A7/31*315))

图片

这里要注意,如果你想让圆环变得更小,可以设置较小的半径,反之,可以设置较大的半径值~

图片

这样,通过上述方法,X 坐标列、Y 坐标列这两列用于定位的辅助列就构造完成了~

图片
图片

气泡图



辅助列构建完成后,就到图形绘制阶段了。

❶ 选择【插入】选项卡 - 点击【所有图表】中的【图表】- 选择【XY 散点图】- 找到【气泡图】- 选择第二个图表即可。

图片

到这里,是不是有那么点样子了呢?

接下来,我们对图表继续调整。

❷ 先将多余的标题等元素删除,然后调整图形的形状。

我们看到未经调整的图形看起来很扁,因此,可以通过图表上下拉伸将其调为圆形。

图片

调整好后,我们发现每个气泡之间都有点重叠,尤其对于较大的气泡,这种情况更加严重。

这个时候,我就可以通过调整气泡的大小来解决这一问题~

❸ 选中气泡右击选择【设置数据系列格式】- 勾选【气泡宽度】,【缩放气泡大小为】中输入合适的数值,这里我设定为 70。

图片
图片

添加标签



❶ 选中右侧出现的加号,勾选【数据标签】- 点击黑色小三角形 - 选择「更多选项」;

在右侧出现的页面中,【标签选项】默认会显示 Y 值(Y 坐标列数据)

但此处需要显示的是各省的人口数量。

因此,将【标签选项】中勾选为显示【气泡大小】,取消勾选【Y 值】和【显示引导线】,标签位置为【居中】。

注意:先勾选【气泡大小】,后取消【Y 值】,否则,设置标签选项的页面会直接消失哦~

图片

❷ 比较难的就是如何让各气泡显标各个省份的名称。

由于在 Excel 中,同一系列下不能添加多组标签,因此,为了添加省份名称标签,我们选中图表复制一份。

❸ 在复制的图表上,选中标签右击选择【设置数据标签格式】,勾选【单元格中的值】,点击【选择范围】,选中省份名称列,点击【确定】即可将省份名称显示在图中。

图片

❹ 将复制的图表除省份名称标签外,其余全部设置为无填充(透明),并删除网络线。

❺ 将设置好的图表叠加到原来做好的图表上。

图片

接来下,你可以将省份标签图和主图表组合在一起,这样就可以一块拖动两个图表了。

在【开始】选项卡下,选择【查找和选择】- 选中【选择对象】- 选种图表 4;

同时按住【Ctrl】键选中图表 3,在已经 选中的图表的边缘右击鼠标 - 选择【组合】- 点击「组合」。

图片

如果你想更进一步美化,还可以对气泡的颜色进行变更或对字体进行替换。

最终,我们做出的气泡图是这个样子:

图片
图片

其他柱形图


这里为了让七普人口的信息更为丰富,除了一开始的七普人口数据,我又找了 10 年人口变化的新数据,将其绘制为人口流入流出省份柱形图加入环形气泡图中~

人口流入省份柱形图

先来绘制人口流入省份柱形图。

选中 10 年人口变化数据中的前六个省份绘制前六人口流入省份柱形图,【插入】-【插入图表】- 选择【推荐的图表】列中的第一个图表。

之后,再对图表中的各个元素进行相应调整即可~

图片

人口流出省份柱形图

再来绘制人口流出省份柱形图。

选中 10 年人口变化数据中的后面数值为负的省份绘制人口流出省份柱形图,【插入】-【插入图表】- 选择【推荐的图表】列中的第一个图表。
 
之后,再对图表中的各个元素进行相应调整即可~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多