通过绘制 Shankey 图表可视化业务流程 - Hive 收入结构分析示例
拿破仑在 1812 年远征俄罗斯时,损失了数十万士兵,其中最直观的体现就是 桑基图.该图通过线条的粗细显示数据流的起点和终点,直观地表达了每个比率,对于直观地显示企业的收入和成本结构非常有用。

在本帖中,我们将使用 SankeyNetwork 软件包的选项和用法让我们开始绘制 Shankey 图,好吗?
什么是生物识别网络?
关键网络 (SankeyNetwork) 是 R 的数据流和比例的可视化表示。 networkD3 软件包功能。在绘制 Shankey 图表时,每个流程的起点和终点以及连接线的粗细代表了构成流程的数据比例。 每个流程的粗细可以让人直观地了解数据的数量和方向,因此是分析业务收入和成本流程的绝佳工具。
介绍 Sankey 网络的基本骨架和关键选项
在绘制 Shanky 图表时,您需要了解一些关键要素和选项。我们将以一种即使是初学者也容易理解的方式来解释它们。
- 节点:定义数据的起点和终点,每个节点代表一个特定点,可以用文本或名称标记。
- 链接连接每个节点的线,代表数据流。例如,从 "总销售额 "到 "唱片/音乐 "的链接代表了部分销售额。
- 源和目标:指定链接的起点,其中源节点指起点节点,目标节点指终点节点。
- 价值:决定连接粗细的数值,数值越大,连接越粗。这样可以在视觉上突出流量的大小。
- 节点 ID选项来定义每个节点上要显示的文本。
- 单位定义显示的单位,使数据更直观易懂。
- 其他风格选择:
- 字体大小字体大小:指定节点和链接的字体大小。
- 节点宽度您可以调整 : 节点的宽度,使其更易于阅读。
Hive 2024 年第三季度收入和成本结构数据
为了用香基图来表示蜂巢的收入和支出流,我们将使用以下数据
1. 销售总额:5 278 亿韩元
- 唱片/原声带:2,144亿韩元
- 演出:739 亿韩元
- 广告/燃料:344 亿韩元
- MD 和许可证:991 亿韩元
- 内容:797 亿韩元
- 粉丝俱乐部:259 亿韩元
2. 毛利润:2,404 亿韩元(占总收入的 45.5%)
3. 营业利润:541 亿韩元(占总收入的 10.2%)
4. 业务费用:1 862 亿韩元
- 劳动力成本:956 亿韩元
- 营业外损失:527 亿韩元
- 运输费用:122 亿韩元
- 摊销:197 亿韩元
- 版税和其他费用:144 亿韩元
5. 净利润:14 亿韩元(占总收入的 0.2%)
安装 Sankey Network 软件包并准备数据
现在让我们尝试绘制一个桑基图,我们将使用 networkD3 软件包和 SankeyNetwork 函数来准备数据。
安装并加载 # 软件包
如果 (!require("networkD3")){ {
install.packages("networkD3")
}
library(networkD3)
生成 # 蜂巢收入结构数据
nodes <- data.frame(name = c("总收入"、"专辑/数字"、"演唱会"、"广告"、"MD & Licensing
"内容"、"粉丝俱乐部"、"毛利润"、"营业利润"、"营业费用"、"净利润"、
"营业外损失"、"劳动力成本"、"运输"、"折旧"、"租金/管理费"、
"佣金"、"其他管理费用")) )
将 # 链接的源和目标修改为从 0 开始的索引
links <- data.frame(
source = c(0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8)、
target = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)、
value = c(2144, 739, 344, 991, 797, 259, 2404, 1862, 541, 14, 527, 956, 122, 197, 144, 363, 78)
)代码说明:
- 安装和加载软件包:
networkD3检查软件包是否已安装,如果未安装,则继续安装。library(networkD3)命令来加载软件包。
- 创建数据框:
结点数据帧:定义 Shanky 图表中使用的节点(组件)名称- 它由 18 个节点组成,包括总收入、每个收入/支出项目等。
- 创建链接数据框:
链接数据帧:定义节点之间的连接和数量信息。
使用 SankeyNetwork 函数绘制桑基图
现在,让我们用 SankeyNetwork 函数将准备好的数据可视化。
创建 # Sankey 图表
sankey <- sankeyNetwork(Links = links、
节点 = nodes、
Source = "源"、
Target = "目标"、
值 = "值"、
NodeID = "name"、
单位 = "十亿韩元"、
fontSize = 12、
节点宽度 = 30)
显示 # 图表
print(sankey)代码说明:
- 创建 Shankey 图表:
sankeyNetwork()函数来生成香基图。- 我们传递以下参数
链接 = 链接链接数据帧:传递你之前准备好的链接数据帧。节点 = 节点输入之前准备的节点数据帧。来源 = "来源"表示要使用链接数据帧的源列。目标 = "目标"表示要使用链接数据帧的目标列。值 = "值"表示要使用链接数据帧的值列。节点 ID = "名称":节点表示要使用数据帧的名称列作为节点名称。单位 = "十亿韩元"表示要将金额单位显示为 "Billion KRW"。fontSize = 12字体大小:将节点和链接的字体大小设置为 12。节点宽度 = 30将 : 节点的宽度设置为 30。
- 显示图表:
print(sankey)打印/显示由命令生成的 Shankey 图表。

总结:利用 Shankey 图表进行直观的业务分析
将蜂巢的收入结构可视化为 Sankey 图,可以揭示收入流的复杂性。 SankeyNetwork 是直观表示业务收入和支出流的绝佳工具。如果您也想轻松表示复杂的数据,不妨试试这个软件包。
顺便提一句,最近我们听到了很多关于神经网络的消息,虽然它们不像香基图那样令人兴奋,但你有没有想过看看神经网络的实际操作呢? 只有我吗? 在 R 中绘制神经网络:通过逐行解释了解神经网络结构(特长:neuralnet) 您想看看帖子吗? 这就像画香溪图一样有趣。


