使用R绘制Chord弦图

Posted by WT on January 11, 2024

需求

想绘制一个不同土地覆盖类型直接相互转换的图,找到了桑吉图和弦图,最后确定用弦图。搜了很久,发现Python没有R绘制的好。

run1

步骤

按照参考文献1 写了代码,最后一步出图时显示不出来.于是找到了参考文献2,二者结合,把上图绘制出来了。后续更详细和复杂的绘制可以参考参考文献中的其他文献。

> install.packages('sankeywheel')
> install.packages('highcharter')
> install.packages("tidyverse")
> library(sankeywheel)
> library(tidyverse)
> library(highcharter)
> sank<-read.table("sank.txt",header=T)
> sank

run1

> mydata=data.frame(sank$source,sank$target,sank$value)
> highchart()%>%
+ hc_add_series(data=mydata,type="dependencywheel",hcaes(from=mydata$sank.source,to=mydata$sank.target,weight=mydata$sank.value))%>%
+ hc_add_theme((hc_theme_ggplot2()))
运行环境:R:4.3.2, Rstudio : 2023.12.0+369 stank中的土地覆盖类型的顺序调整了,绘图时顺序也会调整。

引用文献:
[1] 如何绘制让Nature编辑心动的环状桑基图?
[2] 初学小白如何用R语言绘制环状桑基图
[3] Chord diagram in R with circlize
[4] Create points rep生信常用分析图形的绘制05 – 弦图
[5] 如何画好看的弦图(附R语言画弦图方法)