如何在plotweb中放置不同的颜色(bipartite包R)

时间:2018-05-20 15:59:22

标签: r colors bipartite

我正在使用R中plotweb包中的bipartite函数来表示热带关系。我的颜色有问题:我想为每个上面的盒子设置不同的颜色,并且与它离开的盒子的颜色相同。

这是我的代码,x是一个列联表。 我试图通过列的总和将颜色归因于交互:例如,如果我对第一列有3个交互,我的3个第一行使用相同的颜色,但它不起作用... {{1似乎随机地赋予颜色。

plotweb

我的部分资料:

bipart <- function(x) {
  somme <- data.frame(margin.table(x,2))
  names(somme) <- c("eff")
  write.table(somme$eff, "essai.txt", sep = ";", row.names = FALSE, col.names = FALSE)
  effP <- scan(file = "essai.txt")
  colP <- rep(rainbow(length(effP)), effP)
                plotweb(x,
                              method = "normal", arrow="up.center",
                              col.high = colP, 
                              col.low = "black", 
                              col.interaction= colP, 
                              bor.col.interaction =colP, 
                              bor.col.high=colP,
                              bor.col.low="black",
                              high.lablength = NULL, low.lablength = NULL, text.rot=90,
                              text.high.col="black", text.low.col="black",
                              low.lab.dis=0)
}

感谢您的时间!

1 个答案:

答案 0 :(得分:0)

我终于找到了怎么做!

bipart <- function(x) {
colP = rainbow(length(x[x,]))     
plotweb(x,
                              method = "normal", arrow="up.center",
                              col.high = colP, 
                              col.low = "black", 
                              col.interaction= colP, 
                              bor.col.interaction =colP, 
                              bor.col.high=colP,
                              bor.col.low="black",
                              high.lablength = NULL, low.lablength = NULL, 
                              text.rot=90,
                              text.high.col="black", text.low.col="black",
                              low.lab.dis=0}