riverplot绘制桑基图

桑基图是一种方便说明信息、资源流动和图形,图形中的分、合正如漂流的分叉与汇合,如可用于比较不同簇间关系,可以用来表示各个节点之间转换。

Sankey plots are a type of diagram that is convenient to illustrate how flow of information, resources etc. separates and joins, much like observing how rivers split and merge. For example, they can be used to compare different clusterings.

在R中可以直接定义点点之间的关系后使用riverplot画桑基图:

安装与载入

0. 包内部演示数据

1. 画一个6级能量流动图/桑基图

绘制六个时间点四组间能量流动的桑基图

2. minard图

这个非常著名的图是Charles Minard在1869年所作的拿破仑东征俄国的信息图。Charles Minard是信息图表的之父,他是信息图领域的创始者。这张图描绘的是拿破仑在1812到1813年进攻俄国的情况。它的背景是一个真实的地图,西边是波兰的边境,东边是莫斯科。图上那条主线的宽度代表拿破仑军队的人数,黄色表示进攻路线,黑色表示撤退的路线: 他开始于42万人,在向莫斯科进军的过程中丧失了很多人,到达莫斯科时只剩下10万人,而最后从莫斯科活着返回的只剩下1万人。

Minard图也是桑基图的一种,采用riverplot包也可以绘制。如下:

3. 绘制DNA双链 a DNA strand

4. 绘制简单的分枝图

5. 绘图实战:三时间点桑基图

图形还需要进一步调整

是不是和Science的图有点像了,想要更美,还需要调整很多细节,大家充分发挥自己的布局和设计能力吧。

Reference

R官网:https://cran.r-project.org/web/packages/riverplot/index.html

riverplot作者博客:https://logfc.wordpress.com/2014/02/27/riverplot/

Plotting Flows with riverplot

http://www.exegetic.biz/blog/2014/08/plotting-flows-with-riverplot/

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180223G00YVP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券