R语言弦图绘制 (单细胞互作弦图)

弦图是一种非常常见的图形,表示互作联系,远的不说,就近期一直说的单细胞互作关系的展示上,弦图露了很多次面!这里我们举个例子,说说简单的弦图绘制!

首先准备互作数据,设置颜色,有几个项目就设置几种颜色。这里弦图的绘制采用的是circlize包的chordDiagram函数。

setwd("D:/KS项目/公众号文章/环形弦图绘制")
# 读取数据\设置颜色
net <- read.table("df.csv", header = T, sep = ',')
library(circlize)
mycolor <- c("#DC050C", "#FB8072", "#1965B0", "#7BAFDE", "#882E72",
             "#B17BA6", "#FF7F00", "#FDB462", "#E7298A", "#E78AC3",
             "#33A02C")

绘图。


chordDiagram(
  x = net,
  grid.col = mycolor,                    
  directional = 1,                             
  direction.type = c("arrows", "diffHeight"),   
  diffHeight = -0.01,                            
  annotationTrack = c("name", "grid", "axis"),  
  annotationTrackHeight = c(0.05, 0.08),     
  link.arr.type = "big.arrow",                 
  link.sort = TRUE,                              
  link.largest.ontop = TRUE,                  
  transparency = 0.25                
)

image.png

还可以将弦取消,使用箭头连接,更加明了,连接线宽度设置数值,表示互作关系的强弱。


chordDiagram(
  x = net,
  grid.col = mycolor,                    
  directional = 1,                               
  direction.type = 'arrows',
  diffHeight = -0.01,                  
  annotationTrack = c("grid","name"),   
  annotationTrackHeight = c(0.05, 0.08),   
  link.arr.type = "triangle", 
  link.sort = TRUE,                            
  link.largest.ontop = TRUE,                 
  transparency = 0.5,      
  col='#00000000',#弦的颜色,设置为无
  link.arr.lwd=net$value, #连线的宽度
  column.col  = mycolor
)

image.png

最后,我们添加上标题和legend就完成了!


#添加legend
legend("right",
       pch=20,
       legend=unique(net$SOURCE),
       bty="n",
       col =mycolor,
       cex=1,pt.cex=3,
       border="black") 


title('Intercellular communication')

image.png

这样就完成了,注释代码及示例数据已上传QQ群!觉得分享对你有用的点个赞、分享一下呗!更多精彩请至我的公众号--KS科研分享与服务!

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值