У меня есть фрейм данных в R, который я хочу визуализировать с помощью circlize, но мне трудно построить вокруг него несколько кругов мета.
Вот пример:
Nodes <- data.frame(NodeA=c(paste("nodeA",1:10), paste("nodeA",1:5)),
NodeB=paste("nodeB",1:15),
Meta1=c(rep("red",10), rep("blue",5)),
Meta2=c(rep("green",5), rep("gold",10)))
mat.NodeA <- matrix(0, ncol=10, nrow=10)
mat.NodeB <- matrix(1, ncol=15, nrow=10)
rownames(mat.NodeA) <- paste("NodeA", 1:nrow(mat.NodeA))
colnames(mat.NodeA) <- rownames(mat.NodeA)
rownames(mat.NodeB) <- rownames(mat.NodeB)
colnames(mat.NodeB) <- paste("NodeB", 1:ncol(mat.NodeB))
mat.connectivity = cbind(mat.NodeA, mat.NodeB)
cdm_res = chordDiagram(mat.connectivity, annotationTrack = c("grid"),
annotationTrackHeight = c(0.03))
circos.track(ylim=c(0,1),panel.fun=function(x,y) {
type=CELL_META$sector.index
xlim=CELL_META$xlim
ylim=CELL_META$ylim
circos.text(mean(xlim),mean(ylim),
type,
cex=0.1,
col="grey40",
facing="clockwise",
niceFacing=TRUE)
},
bg.col="grey90",
bg.border=F,
track.height=0.1)
Это возвращает связанный график круговой диаграммы, но я хочу иметь возможность добавлять метаданные, такие как факторы, к фрейму данных узлов, и каждый столбец должен быть обозначен слоем круга.
Я думаю, что это вопрос правильной обработки данных, но я не могу заставить его делать то, что мне нужно. Мы будем благодарны за любые предложения.