通过facet_grid
软件包中的ggplot2
命令,可以按组轻松生成多个图。但是,网格布局(与facet_wrap
相反)意味着没有数据的组组合显示为空白面板。不幸的是,这使得无法区分没有可用数据的面板和只有NA
或零值的面板。考虑以下示例:
set.seed(42)
site <- c("A","B","C","D","E") %>% sample(100, replace=T)
year1 <- c("2010","2012","2014") %>% sample(50, replace=T)
year2 <- c("2010","2011","2012","2013","2014") %>% sample(50, replace=T)
year <- c(year1,year2)
class <- c("1","2","3") %>% sample(100, replace=T)
value <- rnorm(100,10,3) %>% round(0)
ind <- which(value %in% sample(value, 5))
value[ind] <- NA
df <- data.frame(site,year,class,value)
library(ggplot2)
ggplot(df, aes(x=class, y=value)) +
geom_bar(stat="identity") +
facet_grid(site~year)
我想让无数据与仅NA /零的情况更容易掌握。我知道我可以将NA替换为零,并在这些位置将信息添加到绘图中。但是,我认为,如果以某种方式(例如,划线或变灰,或在其上写下“无数据”(请参见下文)。任何建议都将受到欢迎。