Визуально различить панели без данных в facet_grid ggplot - PullRequest
0 голосов
/ 04 июля 2019

Команда 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)

Я бы хотел, чтобы случаи без данных и только с нулями / нулями были более простыми для понимания. Я понимаю, что я мог бы заменить НС на нули и добавить информацию к сюжету в этих местах. Тем не менее, я думаю, что было бы легче читать, если панели без данных были бы визуально различимы, например перечеркнуты или выделены серым цветом, или на них не написано никаких данных (см. ниже). Любые предложения будут приветствоваться.

enter image description here

...