Excel 绘制桑基图:从零到进阶的实用指南

Excel 绘制桑基图:从零到进阶的实用指南

桑基图(Sankey Diagram)是一种展示流量、能量或资源转移的可视化工具,广泛应用于能源、物流、金融等领域。然而,Excel 并未内置桑基图模板,这让许多分析师感到困扰。本文将从基础到进阶,介绍三种在 Excel 中绘制桑基图的方法,并附上操作步骤与注意事项。

方法一:使用堆积条形图模拟桑基图

此方法适用于简单、流道数量较少的桑基图,核心思想是通过多个堆积条形图的宽度变化来模拟流量大小,再通过格式调整隐藏部分条形,达到桑基效果。

步骤:

  1. 准备数据:假设有源节点(A、B、C)和目节点(D、E、F),以及对应的流量值。需要将数据拆分为多个层级,例如:
    源目标流量
    AD30
    AE20
    BE25
    CF25
  2. 创建辅助列:计算每个节点在水平方向上的起始位置和宽度。例如,源节点左侧对齐,目标节点右侧对齐,流量决定宽度。
  3. 插入堆积条形图:选中辅助数据区域,插入“堆积条形图”。然后调整系列顺序,将“填充”部分设为无填充,只保留“流量”系列的条形。
  4. 美化:调整条形之间间距为0%,添加颜色透明度,隐藏不必要的坐标轴和网格线,最终得到类似桑基图的图表。

注意事项:此方法手动调整繁琐,且仅适用于少量流道,数据更新后需重新调整。

方法二:使用第三方插件(如 eSankey 或 Power BI 导入)

对于复杂桑基图,推荐使用 Excel 插件或外部工具。eSankey 是一款专门在 Excel 中绘制桑基图的插件,安装后即可自动生成。

步骤:

  1. 下载并安装插件:从 eSankey 官网下载适用于 Excel 的版本,按照提示安装。
  2. 准备标准数据:通常需要三列:源、目标、值。插件会自动识别。
  3. 生成桑基图:在 Excel 功能区点击 eSankey 选项卡,选择“Create Sankey”,设置参数(如节点颜色、流向色阶),即可生成动态桑基图。
  4. 调整细节:支持修改节点标签、调整曲线平滑度、导出为图片。

优点:操作简单,样式专业,支持大量流道。缺点是插件可能需要付费,且依赖网络安装。

方法三:利用 Power Query + 自定义形状

对于高级用户,可结合 Power Query 进行数据整理,再利用 Excel 的形状(Shapes)或 VBA 绘制贝塞尔曲线,实现高度可定制的桑基图。

关键思路:

  • 数据转换:使用 Power Query 将源-目标数据展开为每条流的坐标点(x,y),计算贝塞尔曲线的控制点。
  • 绘制曲线:在 Excel 中插入“曲线”形状,通过 VBA 循环为每条流绘制路径,并设置颜色透明度。
  • 交互联动:结合数据验证或表单控件,实现动态更新。

此方法无需额外插件,但需要一定的编程基础,适用于需要深度定制的场景。

总结与建议

对于大多数用户,方法二(使用插件)是最省时省力的选择,尤其是需要快速生成专业图表时。方法一适合了解桑基图原理,或在无法安装插件的情况下应急使用。方法三则适合数据工程师或追求极致视觉效果的场景。无论选择哪种方法,核心都是理解数据流的结构,并善用 Excel 的基础功能与扩展工具。

希望本文能帮助您在 Excel 中轻松绘制出漂亮的桑基图,让数据流动一目了然!