现在的情况
在我之前的问题Data frame into a symmetric matrix 同时保留所有 row 和 column中,我最终得到了一个对称矩阵,我想将其转换为这样的格式化和弦图:
library(edgebundleR)
# data
x <- structure(c(1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0),
.Dim = c(3L,5L),
.Dimnames = list(c("a.X", "a.Y", "b.Z"), c("a.A", "a.B", "a.C", "b.D", "b.E")))
x <- as.matrix(x)
x <- rbind(cbind(diag(nrow(x)), x), cbind(t(x), diag(ncol(x))))
colnames(x) <- rownames(x)
# plot
edgebundle(x)
# plot with basic formatting using the arguments of edgebundle()
edgebundle(x,
tension=1,
fontsize = 12,
cutoff = 0,
width = 1000,
padding = 230,
nodesize = c(5, 30))
问题
但是,类似于使用 edgebundle 在弦图中着色边缘和顶点我想更进一步并更改线和节点的颜色(默认情况下和鼠标悬停期间),这在使用 igraph-object 时是可能的,如图所示在R和文档中的网络和弦图问题中。
在阅读了我的PDF 文档后,edgebundleR
我想这不是该软件包功能的一部分,但它也可以...
- 包括基于组的分组标签
c("a.", "b.")
- 更改文本的字体
- 选择类别时,对指向不同组的线条使用不同的颜色(如本例中的输入和输出)
- 为绘图添加标题,当绘图旋转时保持原位
我的问题
- 当使用矩阵而不是 igraph 对象时,是否可以为每组的线和节点着色,优先使用颜色代码(rgb,十六进制),如果是,如何?
- 尽管没有包含在基本功能中,有没有办法从上面进行高级格式化?(当然,不必在很大程度上重写或扩展包)
谢谢你的建议!