我正在研究这个df:
char cv[4] = "asdf"; // error
我创建了一个为Col0的每个元素设置颜色的函数,以便更好地管理循环:
Col0 <- c("AA", "BB", "CC", "DD","EE","FF")
Col1 <- c(2,2,2,6,1,NA)
Col2 <- c(2,2,2,1,3,NA)
Col3 <- c(2,2,3,4,6,NA)
Col4 <- c(2,2,3,1,2,NA)
Col5 <- c(2,1,1,1,1,NA)
Col6 <- c(2,4,2,5,4,NA)
Col7 <- c(2,4,2,5,4,NA)
Col8 <- c(2,2,3,4,5,NA)
Col9 <- c(1,3,3,2,2,NA)
df<-data.frame(Col0,Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9)
循环是为Col0
的每个元素打印一个图形formula <- colnames(df)[1]
nr<- nrow(df)
myColors <- brewer.pal(nr,"Set1")
names(myColors) <- levels(df$Col0)
colScale <- scale_colour_manual(name = "Col0",values = myColors)
问题是这个功能只有在df中没有NA时才有效。在提出的df中,它给出了错误:
plots<-list()
for(i in 1:nr){
af<- df[i,]
f<- melt(af,id =c("Col0"))
pl<- ggplot(f, aes(variable, value, colour = Col0)) + geom_point()+ colScale}
plots[[i]]<-pl
}
do.call("grid.arrange", c(plots))
我想知道的另一件事是,是否可以为所有图形创建一个独特的图例,以节省空间并拥有更大的图形。 我不能用facet来解决这个问题。