daattali / daattali/ggExtra

ggMarginal can’t handle Date axes

Open
#45 2 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.