circos图转换新风格

2024-05-11 12:30:22 浏览数 (2)

欢迎关注R语言数据分析指南

❝本节来介绍如何在绘制circos图时通过构建图例的形式来展示文本,避免图表文本过多产生视觉混乱, 图表无实际意义,整个过程仅参考。希望对各位观众老爷能有所帮助。「代码会整合上传到学习交流群」,购买过小编R数据可视化文档的朋友可在所加的交流群内获取下载,有需要的朋友可关注文中介绍加入交流群。 ❞

图形展示

图形解读

❝通过批量构建图例来展示弦图右侧的文本,避免文本过多引起图形凌乱。由于有27个文本在颜色配置上使用了重复色,实际分析中应分配27种颜色。 ❞

加载R包

代码语言:javascript复制
library(tidyverse)
library(circlize)
library(cowplot)
library(RColorBrewer)
library(magrittr)
library(ComplexHeatmap)
library(grid)

R包版本号

sessionInfo()

导入数据

代码语言:javascript复制
df <- read_csv("loadouts.txt") %>% select(2,6)
# 定义布局
circos.par(canvas.xlim=c(-0.6,0.2),canvas.ylim=c(-1,1),start.degree =-90)

# 定义左侧颜色
grid.col1 =c(`1`="#B2182B",`2`="#D6604D",`3`="#F4A582",`4`="#FDDBC7",
           `5`="#F7F7F7",`6`="#D1E5F0",`7`="#92C5DE",`8`="#4393C3",`9`="#2166AC")

# 定义右侧颜色
grid.col2 <- df %>% select(2) %>% distinct() %>% 
  bind_cols(brewer.pal(12,"Paired") %>% as.data.frame() %>% 
              bind_rows(brewer.pal(12,"Paired") %>% as.data.frame()) %>% 
              bind_rows(brewer.pal(3,"Paired") %>% as.data.frame())) %>% 
  set_colnames(c("name","col")) %>% 
  deframe()

# 颜色合并
grid.col <- c(grid.col1,grid.col2)
set.seed(1234)

# 绘制弦图
chordDiagram(df,grid.col=grid.col, 
             link.decreasing = TRUE, transparency = 0.1, 
             big.gap = 10,
             link.sort = FALSE,annotationTrack = "grid",
             preAllocateTracks = list(track.height = .2))

0 人点赞