daattali/ggExtra

ggMarginal can’t handle Date axes

Aperta

#45 aperta il 24 mar 2017

 (2 commenti) (0 reazioni) (0 assegnatari)R (47 fork)github user discovery
enhancementhelp wanted

Metriche repository

Star
 (393 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

library(ggExtra)
data(airquality)
airquality$Date <- with(airquality, as.Date(sprintf('1973-%02d-%02d', Month, Day)))

p <- ggplot(airquality, aes(Date, Temp)) + geom_point()
print(ggMarginal(data = airquality, x = 'Date', y = 'Temp'))  # works
print(ggMarginal(p, airquality, 'Date'))                      # doesn’t

the second one throws:

Error: Invalid input: date_trans works with objects of class Date only
Traceback:

1. print(ggMarginal(p, airquality, "Date"))
2. ggMarginal(p, airquality, "Date")
3. ggplot2::ggplot_build(top)
4. lapply(data, scales_transform_df, scales = scales)
5. FUN(X[[i]], ...)
6. unlist(lapply(scales$scales, function(s) s$transform_df(df = df)), 
 .     recursive = FALSE)
7. lapply(scales$scales, function(s) s$transform_df(df = df))
8. FUN(X[[i]], ...)
9. s$transform_df(df = df)
10. f(..., self = self)
11. lapply(df[aesthetics], self$transform)
12. FUN(X[[i]], ...)
13. f(..., self = self)
14. self$trans$transform(x)
15. stop("Invalid input: date_trans works with objects of class Date only", 
  .     call. = FALSE)

Guida contributor