概要
基于R studio的相关性分析弦图绘制,满足一般的数据统计分析作图需求,相对更推荐Tbtols或者一些线上的云平台(微生信等)。
技术名词解释
- circlize
- RColorBrewer
- gridBase
技术细节
- 将获得的相关性矩阵转换为两两对应的数据框结构
- 绘制外周圆弧区,显示名称和刻度轴
- 据相关性大小展示连线的颜色范围
相关代码
library(ggcorrplot)
##相关性弦图
gene <- read.delim("clipboard",row.names = 1, check.names = F)
gene_cor <- cor(gene, method = 'spearman')
corr.p <- ggcorrplot::cor_pmat(gene)
ggcorrplot(
corr = gene_cor,
type = 'full',
p.mat = corr.p,
sig.level = 0.05
)
diag(gene_cor) <- 0
#将获得的相关性矩阵转换为两两对应的数据框结构
gene_cor <- reshape2::melt(gene_cor)
gene_cor <- subset(gene_cor, value != 0)
head(gene_cor)
write.csv(gene_cor,"cor.csv")
#绘制弦图
library(circlize)
library(RColorBrewer)
library(gridBase)
circle_plot = chordDiagram(gene_cor,
annotationTrack = c('grid', 'name', 'axis'), #绘制外周圆弧区,显示名称和刻度轴
grid.col = c(EGFR = 'gold',CX3CR1 = 'pink', CXCR1 = 'pink', CXCR2 = 'pink', CCR6 = 'pink'
, CXCL16 = 'pink', CXCL17 = 'pink', CCL7 = 'deepskyblue'),
col = colorRamp2(c(-1, 0, 1), c('skyblue2', 'white', 'indianred1'), transparency = 0.2), #根据相关性大小展示连线的颜色范围
annotationTrackHeight = c(0.05, 0.05))
小结
满足一般相关性分析要求。优点:处理速度快。缺点:美观性不足。