Почему я получаю нулевые графики с помощью ggplot? - PullRequest
0 голосов
/ 07 ноября 2018

Почему, когда я использую facet_wrap с функцией ниже, я получаю нулевые выходные данные для графиков. Изображение того, что происходит, прилагается. Графики сведены вместе, и я не вижу точек данных. Что происходит?

image

Я скрыл названия из-за секретности.

Там будет 100 или около того граней.

data <- read.csv(data.csv)
data$DateTime <- as.POSIXct(data$DateTime,format ='%m/%d/%Y %r')
data <- data %>% mutate(Person = ifelse(Person == 1, "Person 1", "Person 2"))
data %>% 
  filter(Size %in% c('S','M')
         ) %>%
  arrange(LargePerson) %>%      
   ggplot(aes(x = DateTime,y = Price)) +
    geom_point(
               aes(colour = Person)) + 
    scale_colour_manual(values = c("Person 1" = "blue", "Person 2" = "black")) +
    facet_wrap(~ID,scales = "free",ncol=2) + labs(x = "Date") +
    scale_x_datetime(breaks = date_breaks("2 days"),labels = date_format("%m/%d/%y")) +
    theme(axis.text.x = element_text(angle = 90,vjust = 0.5),
          legend.position="bottom"
    )

1 Ответ

0 голосов
/ 07 ноября 2018

Я немного поигрался и думаю, что, вероятно, это то, что я сказал в своем комментарии: 100 граней просто не вписываются в пространство, отведенное для изображения. То, что становится сжатым, это сам график, а не окружающие элементы (такие как заголовки и т. Д.). Например, вот несколько поддельных сюжетов с 50 гранями:

df<-data.frame(group=apply(expand.grid(LETTERS,LETTERS),1,paste0,collapse="")[1:50],x=runif(50),y=runif(50))
ggplot(df, aes(x,y))+geom_point() +facet_wrap(~group,ncol=2)

enter image description here

А вот тот же график, с тем же кодом, с высотой PNG, установленной на 10000:

enter image description here

...