爆肝了一整天,这一次,我要让桑基图为PPT代言!

前两天,有个小伙伴甩了一张图(桑基图),问有没有知道怎么做。
那张桑基图差不多是下面这个样子:

乍一看,好像也挺简单的,用编辑顶点的方法是不是也能搞?
但编辑顶点作图毕竟不太严谨规范,这种解决方案,明显与我深度专(zhuang)研(bi)的定位不符!
于是,我偷偷的去百度以及谷歌了一下关键词:桑基图 PPT
看了整整一晚上,没想到,目前网上居然没有一篇用 PPT 做桑基图的教程。
没办法,只能硬着头皮自己上了,我自己琢磨琢磨写一篇吧!
重要提示:这是一篇进阶型教程,关于什么是桑基图以及桑基图用在哪,自行搜索了解,本文只介绍技术原理以及实现方法,内容很干,自己带水...
-
内容很干,不要跳读!
-
内容很干,一定要动手!
-
内容很干,看不懂多读几遍!
手把手教程开始
首先,在 PPT 中插入一个百分比堆积柱状图,数据和结果如下图:

我们选中图表中的坐标轴等不必要元素,全部删除,只保留中间的柱状图。

选中图表,剪切,粘贴为增强型图元文件:

取消组合后,得到下图的多个矩形,比例与堆积柱状图的比例一致。

我们把整个组合反转过来,让矩形高度更大的在上面:

接下来,使用 OKPlus 插件的快捷脑图功能:

鼠标点击一下,插入一个脑图结构(这个功能是用来做思维导图的)

选中自动生成的两个圆角矩形,把高度压缩一下。

参考左侧的数据图,把脑图结构向下复制多份,并填充相同的颜色。

全选所有圆角矩形,把形状的边框线设置为无:

保持全选,使用 OneKey 插件(以下简称 OK 插件)的控点工具,把控点数据批量改为 0

得到的结果如下图,所有的圆角矩形都变成了直角的矩形。

先选中左侧参考的矩形,再依次点选右侧的两个矩形,找到 OK 插件的尺寸递进功能,按住 Shift 点击相同大小:

这时候右侧两个矩形的高度,就和左侧选中的矩形高度一致了。

通过这种方法,我们把右侧的所有矩形,依次修改为左侧参考的高度。

因为矩形高度不同,有重叠的部分,看起来不够直观。
我们全选所有矩形,使用 iSlide 插件设计工具中的向上吸附功能:


得到的结果如下图,所有的矩形上下衔接对齐。

依旧全选所有的矩形,按住 Ctrl+Shift 压缩矩形的宽度:

按住 Shift 不放,把右侧的第一个矩形垂直向上移动一定距离。

中间的连接线会自动变化,我们只管矩形的位置即可,连接线咱们不用管。
全选右侧的矩形,使用对齐中的纵向分布:

右侧矩形之间的间距就变成一样了,得到的结果如下图:

我们现在可以把左侧的参考删掉了,复制一个脑图结构放到左侧。

把中间的连接线删掉,保留两个矩形。

选中左侧的两个矩形,使用 LvyhTools(以下简称英豪插件),点击添加形状-选择连线功能:

插件会在两个矩形的中心点之间,自动生成一个线条形状。

选中生成的线条形状,点击 OK 插件中的分割线-二等分线功能:

会自动在中间生成横纵两条辅助线,为了看起来更明显,我把背景改成深色:

之后,编辑顶点,把两个顶点的控制手柄都拖到参考线的位置。

编辑完成后,可以得到一个顺滑的曲线:

把参考线删掉,背景改回浅色:

把所有的脑图结构组合后,逆时针旋转 90 度,得到下图的结果:

接下来的操作,很关键!
先框选右侧所有的肘形连接线,再按住 Ctrl 点选左下角的曲线,使用 OK 插件的辅助功能-批量替换中的形换形功能:

可以一件把所有的连接线换成曲线,记住这一步,非常关键!

现在,可以把左下角的参考辅助图形删掉了,把整体移动到页面中下部的位置:

选中第一个矩形,在形状格式选项卡中,复制矩形的高度。

选中第一条曲线,打开格式设置,把刚才复制的高度数值,直接粘贴到线宽里面即可,得到下图:

同样的操作,依次把所有线条的宽度修改完成:

修改线条颜色为浅灰色:

把第一个线条形状改个颜色,再把底部的矩形都改为浅灰色:

在上方加一些小三角形打辅助:

把文字内容给加上,这张好看的桑基图就完成啦!

你可能会觉得,哇好麻烦啊,这是因为我把所有的步骤拆解的非常细,方便大家跟着做,才看起来篇幅比较长。
实际动手作图的时候,如果你熟悉了制作原理,用 PPT 做桑基图是非常快的。
而且,用 PPT 做好的图,我们可以根据自己的需要任意编辑修改,自由度更高。
到这里,用 PPT 制作桑基图的原理与操作,基础用法就讲完了。
如果你觉得以上的内容还能消化,那咱们继续,开始进阶版内容!
进阶版内容开始
先拓展一下,前面用 OK 插件把连接线都换成曲线,在其他插件中也有类似的功能。
iSlide 设计工具中,有个功能叫交换位置。
小顽简报插件,则在对象-统一里面,同样是叫交换位置,按住 Shift 点击这个功能,可以打开对应的设置窗口。
友情提示:接下来的教程,提到的各项插件的功能,需要自己去对应使用,我就不挨个截图了,下面只讲关键的操作步骤。
首先,通过 OKPlus 的脑图功能,做出下图:

把曲线放到页面中作为辅助形状,可以通过复制-反转得到反方向的曲线。

再通过 OK 插件批量形换形,得到下图的效果:

依次修改曲线的线宽,以及线条的颜色与透明度。

再绘制几个圆形,设置不同的填充、线条以及阴影效果:

把文案加上,就得到另一个不错的 8 项图示:

接下来,再使用 iSlide 插件的补间功能,以及英豪插件的沿线分布功能,可以做出下图:

这里如果看不懂,可以翻一下以前的两篇教程,里面有原理与操作步骤:
-
我想造1000个半调粒子素材,这些方法不敢私藏!
-
PPT大神都不知道的骚操作,居然一次性教你6个!
同样的方法,我们换一下方向,还能做出这样的效果:

接下来,把之前的曲线都改成浅灰色,压缩脑图结构的高度,通过 OK 插件的批量复制,以及对齐中的纵向分布,我们来做另一个效果。

删掉脑图结构中的矩形,只保留所有的连接线:

再使用 OK 插件批量形换形,把所有的连接线换成曲线。

全选所有曲线,把线条的宽度加大一些,改个颜色:

再用同样的方法,依次把其他曲线做出来:

通过这种方法,我们就可以做出各种粗细变化的桑基图了。
咱们加上文案内容,看一看做出的效果:

同样,我们修改所有曲线的宽度,设置线条的渐变参数,也可以得到这样的效果:

要是我们把所有的曲线组合到一起,使用口袋动画插件的矢量素描功能,还能快速把曲线面积转为形状。
那么,我们就可以给它们设置纹理填充效果:

再换个玩法,把这些形状都填充浅灰色:

通过 iSlide 的补间功能,以及 OK 插件的批量原位复制功能,做出超多大小、颜色变化的小圆。
再使用英豪插件位置分布中的内部分布功能,可以得到下图:

我们在原图示上操作,就是这样的:

接下来,使用英豪插件特殊选择-扩域保留功能,得到下图:

同样的方法步骤,依次把其他 7 个曲线的效果做出来:

做完后,发现点阵好像有点太密集了,我们再使用 OK 插件中的特殊选中-按尺寸选中,把一些较大的圆形给删掉。

删掉一些较大的圆形后,给形状设置一定的透明度渐变,整体效果是不是还不错?
再深入一些,咱们还可以全选所有圆形,批量更改形状为三角形,变成这样:

公众号对图片有压缩,大家可以放大看看效果。
如果到这里你还能跟上进度,那说明你的基础真的很好,是高手无疑了!
咱们继续拓展发散~
先通过 OKPlus 插入脑图,得到下面的效果:

批量形换形之后,修改曲线的颜色:

增加文案内容,完善一下细节,就可以做出这样的高端图表:

思路不停,接着发散~
先绘制高度不同的两个矩形,再用 iSlide 插件的补间功能,得到下图:

之后用英豪插件的内部随机分布:

全选,底端对齐后,横向分布:

绘制一个凸起的形状,用 OK 插件批量形换形:

感觉有点太高了,咱们压缩一下整体的高度。

再通过 iSlide 补间,得到大小变化的多个圆形:

控制黑色矩形的高度,让它只占据页面的偏上位置。

使用英豪插件的内部随机分布,把圆形分布到页面上部:

可以用 OK 插件随机选中后修改颜色,也可以手动选中圆形修改颜色。

需要注意,如果这里是比较严谨的数据图,则可以用气泡图来得到相应的圆形。
我们把之前做好的凸起部分,复制到这个页面中:

修改下方凸起形状的颜色,再使用英豪插件的选择连线功能,依次连线:

用之前教的方法,得到垂直方向的曲线形状:

再使用 OK 插件的批量形换形功能,把所有的直线换成曲线:


给所有的圆形以及曲线添加透明度:

最后,简单加个标题,搞定!

到这里,用 PPT 制作桑基图的基础与进阶操作,就全都教给你了。
如果你一下子没看明白,也很正常,这涉及到多个插件的组合运用,上手多试几遍就熟练了。
至于文中提到的这些 PPT 插件,在咱们的网站(AboutPPT)都有收录整合,没用过的话可以去尝试一下:

网址:https://www.aboutppt.com/favorites/fuzhuchajian
用插件来制作,相比手动绘图,要更加快速也更加准确。
如果你对桑基图的效果没有太高要求,不需要做出各种炫酷的效果,也可以尝试使用其他工具:
01. 使用 Excel 的折线图与散点图制作,效果很一般,过度不自然。
02. 使用花火、RAWGraphs 或 ECharts 等在线图表工具,输入数据生成桑基图,格式固定样式不易修改,可以导出 svg 矢量格式。
03. 使用 PowerBI 与在线应用生成,可以编辑修改数据,但是应用插入到 PPT 中貌似要收费。
04. 使用 Excel 插件 tusimpleBI 生成桑基图,但是需要旗舰版才能使用,按年订阅,如果只是做桑基图的话不便宜。
05. 使用编程的方式生成,或者用 AI 等矢量绘图工具绘制,相信你应该不会采用这些方法,是吧?
上面提到的这些工具,网上都可以找到对应的操作教程,这里我就不逐个讲解了,感兴趣可以自行搜索学习。
以上,就是今天分享的全部内容,希望对你有所启发~
这篇教程从找资料到思考解决方法,再到理清逻辑制作案例,最后形成详细的图文教程,实际上用了不止一天时间,个人觉得真的很干货很实用。
如果可以的话,期待你的三连与分享,爱你!