ixxmu / mp_duty

抓取网络文章到github issues保存
https://archives.duty-machine.now.sh/
84 stars 25 forks source link

circos图转换新风格 #4939

Closed ixxmu closed 3 weeks ago

ixxmu commented 3 weeks ago

https://mp.weixin.qq.com/s/cZXqtea312G8gehGuiDccA

ixxmu commented 3 weeks ago

circos图转换新风格 by R语言数据分析指南

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

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

图形展示

图形解读

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

加载R包

library(tidyverse)
library(circlize)
library(cowplot)
library(RColorBrewer)
library(magrittr)
library(ComplexHeatmap)
library(grid)

R包版本号

sessionInfo()

导入数据

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))

关注下方公众号下回更新不迷路

本节介绍到此结束,有需要学习R数据可视化的读者,欢迎购买小编的R数据可视化案例文档,「购买将自动获得2024年度更新的绘图文档代码,无需在付费」。目前此文档(2023+2024)「已经更新上传了150+案例文档」,每个案例都附有相应的数据和代码,并配有对应的注释文档,方便大家学习和参考。可到小编的「淘宝店铺-R语言数据分析指南」下单购买。

「2024更新的绘图内容同时包含数据+代码+markdown注释文档+文档清单」

注:2022版与2023版文档为单独售卖,买任意一年的都可获取2024的文档,「小编只分享案例文档不额外回答问题。」

淘宝店铺

2024年案例图展示