-
Notifications
You must be signed in to change notification settings - Fork 40
Description
Description
A major update to ggplot2 (version 4.0.0) is expected around mid-to-late July 2025.
Unfortunately, using it will break ComplexUpset::upset(), I will show it with the first vignette example.
Behaviors
With ggplot2 3.5.2 (runs fine)
# pak::pak("tidyverse/ggplot2@v3.5.2")
library(ComplexUpset)
packageVersion("ggplot2")
#> [1] '3.5.2'
packageVersion("ComplexUpset")
#> [1] '1.3.6'
movies <- as.data.frame(ggplot2movies::movies)
genres <- colnames(movies)[18:24]
upset(movies, genres, name = "genre", width_ratio = 0.1)Created on 2025-07-09 with reprex v2.1.1
With ggplot2 4.0.0 (warnings and error)
# pak::pak("tidyverse/ggplot2")
library(ComplexUpset)
packageVersion("ggplot2")
#> [1] '3.5.2.9001'
packageVersion("ComplexUpset")
#> [1] '1.3.6'
movies <- as.data.frame(ggplot2movies::movies)
genres <- colnames(movies)[18:24]
upset(movies, genres, name = "genre", width_ratio = 0.1)
#> Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
#> ℹ Please use `linewidth` instead.
#> ℹ The deprecated feature was likely used in the ComplexUpset package.
#> Please report the issue at
#> <https://github.com/krassowski/complex-upset/issues>.
#> This warning is displayed once every 8 hours.
#> Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
#> generated.
#> Warning: themes$intersections_matrix is not a valid theme.
#> Please use `theme()` to construct themes.
#> Warning: `legend.margin` must be specified using `margin()`
#> ℹ For the old behavior use `legend.spacing`
#> Warning: themes$intersections_matrix is not a valid theme.
#> Please use `theme()` to construct themes.
#> Warning: selected_theme is not a valid theme.
#> Please use `theme()` to construct themes.
#> Warning: `legend.margin` must be specified using `margin()`
#> ℹ For the old behavior use `legend.spacing`
#> Warning: selected_theme is not a valid theme.
#> Please use `theme()` to construct themes.
#> Warning: themes$overall_sizes is not a valid theme.
#> Please use `theme()` to construct themes.
#> Warning: `legend.margin` must be specified using `margin()`
#> ℹ For the old behavior use `legend.spacing`
#> Warning: themes$overall_sizes is not a valid theme.
#> Please use `theme()` to construct themes.
#> Error in `plot_theme()`:
#> ! The `axis.title.x` theme element must be a <element_text> object.Created on 2025-07-09 with reprex v2.1.1
The first warning is due to the change from size to linewidth in aesthetic for lines (since ggplot2 3.4.0, but only soft deprecated then).
The following ones are likely due to stricter class checks with the S7 implementation in 4.0.0.
See this post: Bioconductor and ggplot2 4.0.0: What’s Changing and How to Prepare
Conclusion
Do you think a patch will be available soon? It would be greatly appreciated.
Huge thanks for maintaining this package, I use it a lot!
Context
ComplexUpset 1.3.6
R session information
> sessioninfo::session_info()
─ Session info ────────────────────────────────────────────────────────────────────────────────────────────────
setting value
version R version 4.5.0 (2025-04-11)
os macOS Sequoia 15.5
system aarch64, darwin20
ui X11
language (EN)
collate en_US.UTF-8
ctype en_US.UTF-8
tz Europe/Paris
date 2025-07-09
pandoc NA
quarto 1.7.29 @ /usr/local/bin/quarto
─ Packages ────────────────────────────────────────────────────────────────────────────────────────────────────
package * version date (UTC) lib source
cli 3.6.5 2025-04-23 [1] CRAN (R 4.5.0)
colorspace 2.1-1 2024-07-26 [1] CRAN (R 4.5.0)
ComplexUpset * 1.3.6 2025-07-09 [1] Github (krassowski/complex-upset@db1e099)
crayon 1.5.3 2024-06-20 [1] CRAN (R 4.5.0)
dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.5.0)
farver 2.1.2 2024-05-13 [1] CRAN (R 4.5.0)
generics 0.1.4 2025-05-09 [1] CRAN (R 4.5.0)
ggplot2 3.5.2.9001 2025-07-09 [1] Github (tidyverse/ggplot2@f666daf)
ggplot2movies 0.0.1 2015-08-25 [1] CRAN (R 4.5.0)
glue 1.8.0 2024-09-30 [1] CRAN (R 4.5.0)
gtable 0.3.6 2024-10-25 [1] CRAN (R 4.5.0)
labeling 0.4.3 2023-08-29 [1] CRAN (R 4.5.0)
lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.5.0)
magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.5.0)
patchwork 1.3.0 2024-09-16 [1] CRAN (R 4.5.0)
pillar 1.10.2 2025-04-05 [1] CRAN (R 4.5.0)
pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.5.0)
R6 2.6.1 2025-02-15 [1] CRAN (R 4.5.0)
ragg 1.4.0 2025-04-10 [1] CRAN (R 4.5.0)
RColorBrewer 1.1-3 2022-04-03 [1] CRAN (R 4.5.0)
rlang 1.1.6 2025-04-11 [1] CRAN (R 4.5.0)
S7 0.2.0 2024-11-07 [1] CRAN (R 4.5.0)
scales 1.4.0 2025-04-24 [1] CRAN (R 4.5.0)
sessioninfo 1.2.3 2025-02-05 [1] CRAN (R 4.5.0)
systemfonts 1.2.3 2025-04-30 [1] CRAN (R 4.5.0)
textshaping 1.0.1 2025-05-01 [1] CRAN (R 4.5.0)
tibble 3.3.0 2025-06-08 [1] CRAN (R 4.5.0)
tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.5.0)
vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.5.0)
withr 3.0.2 2024-10-28 [1] CRAN (R 4.5.0)