ggMarginal can’t handle Date axes
- Dominant language
- R
- Stars
- 393
- Forks
- 47
- PR merge metrics
- No merged PRs in 30d
Description
```r
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:
```r
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)
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by running the supplied airquality reproduction and compare the two ggMarginal calls, following the failing path through ggMarginal and ggplot2::ggplot_build. Done means the second call accepts the Date axis without the date_trans error and preserves the marginal plot behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- data-visualization
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100