相关矩阵的弦图。 R
Chord Plot for a Correlation matrix. R
我想为相关矩阵创建一个弦图。其中链接表示从 -1 到 1(蓝色到红色)的颜色渐变中的相关性。我只想表示那些具有实际相关性的链接。
这是一个示例数据集:
c1<-c(0,0,0.5,-0.2,0.1,-0.8)
c2<-c(0.2,0.8,-0.5,0,0,0)
c3<-c(0,0,-0.2,0,0,0.1)
mat<-rbind(c1,c2,c3)
rownames(mat) = paste0("S", 1:3)
colnames(mat) = paste0("E", 1:6)
df = data.frame(from = rep(rownames(mat), times = ncol(mat)),
to = rep(colnames(mat), each = nrow(mat)),
value = as.vector(mat),
stringsAsFactors = FALSE)
在和弦图中表示这一点的简单方法如下:
windows()
chordDiagram(df, big.gap = 30)
circos.clear()
但是,它代表所有链接,即使值为 0。如何为该值创建颜色渐变,从 -1 到 1,其中 0 为白色?
谢谢
假设您使用的是 circlize
包,您可以根据范围手动调整颜色,方法是编写一个函数,然后将其输入到 chordDiagram()
函数的 col
参数中:
library(circlize)
cols = colorRamp2(c(-1,0,1),c("blue","white","red"),transparency = 0.3)
chordDiagram(mat,col=cols,big.gap=30)
我使用矩阵绘制和弦图,但数据框应该产生相同的结果。但是,我不明白你说所有 link 都表示的意思,即使值为 0,因为例如,S1 到 E1 为 0,但两者之间没有 link
我想为相关矩阵创建一个弦图。其中链接表示从 -1 到 1(蓝色到红色)的颜色渐变中的相关性。我只想表示那些具有实际相关性的链接。
这是一个示例数据集:
c1<-c(0,0,0.5,-0.2,0.1,-0.8)
c2<-c(0.2,0.8,-0.5,0,0,0)
c3<-c(0,0,-0.2,0,0,0.1)
mat<-rbind(c1,c2,c3)
rownames(mat) = paste0("S", 1:3)
colnames(mat) = paste0("E", 1:6)
df = data.frame(from = rep(rownames(mat), times = ncol(mat)),
to = rep(colnames(mat), each = nrow(mat)),
value = as.vector(mat),
stringsAsFactors = FALSE)
在和弦图中表示这一点的简单方法如下:
windows()
chordDiagram(df, big.gap = 30)
circos.clear()
但是,它代表所有链接,即使值为 0。如何为该值创建颜色渐变,从 -1 到 1,其中 0 为白色?
谢谢
假设您使用的是 circlize
包,您可以根据范围手动调整颜色,方法是编写一个函数,然后将其输入到 chordDiagram()
函数的 col
参数中:
library(circlize)
cols = colorRamp2(c(-1,0,1),c("blue","white","red"),transparency = 0.3)
chordDiagram(mat,col=cols,big.gap=30)
我使用矩阵绘制和弦图,但数据框应该产生相同的结果。但是,我不明白你说所有 link 都表示的意思,即使值为 0,因为例如,S1 到 E1 为 0,但两者之间没有 link