R可视化——基于ggplot2和ggalluvial包绘制桑基图
桑基图(Sankey diagram)是一种特定类型的流程图,主要用于描述一组值到另一组值的流向,图中分支的宽度即对应数据流量的大小。今天,小编就结合ggplot2包和ggalluvial包给大家展现一下如何绘制一张桑基图!
安装、加载R包
主要用到两个包——ggplot2和ggalluvial:
数据
1、加载数据——用于展现对应关系的数据,根据个人需求进行调整:

2、格式转换——通过to_lodes_form函数将数据转换为作图所需要的数据:

绘图
通过PDF绘制,所以绘图前需要新建一个PDF文件然后在其中进行绘图,通过更改geom_flow函数中的 curve_type参数可以绘制不同样式的图形:


参考:https://zhuanlan.zhihu.com/p/555785174
源码及数据可在微信公众号【科研后花园】后台回复"桑基图"获取!