Issue Description
Hi Seurat Team,
I don't think I have bandwidth to directly submit PR for this so posting here but will work on it if things change.
Three RidgePlot parameters appear to be broken in current Seurat release.
fill.by (doesn't work)
y.max (doesn't work)
same.y.lims (only changes if stack = TRUE; unsure if this is intended behavior, but unsure even then it's doing so correctly)
Reprex (below) showing plots not changing when parameters changed.
Thanks!
Sam
Reproducing Code Example
r
library(tidyverse)
library(Seurat)
#> Warning: package 'Seurat' was built under R version 4.6.1
#> Loading required package: SeuratObject
#> Loading required package: sp
#>
#> Attaching package: 'SeuratObject'
#> The following objects are masked from 'package:base':
#>
#> intersect, t
library(patchwork)
pbmc <- UpdateSeuratObject(pbmc3k.SeuratData::pbmc3k.final)
#> Validating object structure
#> Updating object slots
#> Ensuring keys are in the proper structure
#> Updating matrix keys for DimReduc 'pca'
#> Updating matrix keys for DimReduc 'umap'
#> Warning: Assay RNA changing from Assay to Assay
#> Warning: Graph RNA_nn changing from Graph to Graph
#> Warning: Graph RNA_snn changing from Graph to Graph
#> Warning: DimReduc pca changing from DimReduc to DimReduc
#> Warning: DimReduc umap changing from DimReduc to DimReduc
#> Ensuring keys are in the proper structure
#> Ensuring feature names don't have underscores or pipes
#> Updating slots in RNA
#> Updating slots in RNA_nn
#> Setting default assay of RNA_nn to RNA
#> Updating slots in RNA_snn
#> Setting default assay of RNA_snn to RNA
#> Updating slots in pca
#> Updating slots in umap
#> Setting umap DimReduc to global
#> Setting assay used for NormalizeData.RNA to RNA
#> Setting assay used for FindVariableFeatures.RNA to RNA
#> Setting assay used for ScaleData.RNA to RNA
#> Setting assay used for RunPCA.RNA to RNA
#> Setting assay used for JackStraw.RNA.pca to RNA
#> No assay information could be found for ScoreJackStraw
#> Warning: Adding a command log without an assay associated with it
#> Setting assay used for FindNeighbors.RNA.pca to RNA
#> No assay information could be found for FindClusters
#> Warning: Adding a command log without an assay associated with it
#> Setting assay used for RunUMAP.RNA.pca to RNA
#> Validating object structure for Assay 'RNA'
#> Validating object structure for Graph 'RNA_nn'
#> Validating object structure for Graph 'RNA_snn'
#> Validating object structure for DimReduc 'pca'
#> Validating object structure for DimReduc 'umap'
#> Object representation is consistent with the most current Seurat version
# fill.by not working
RidgePlot(pbmc, features = "CD3E")
#> Picking joint bandwidth of 0.126
<!-- -->
r
RidgePlot(pbmc, features = "CD3E", fill.by = "feature")
#> Picking joint bandwidth of 0.126
<!-- -->
r
RidgePlot(pbmc, features = "CD3E", fill.by = "ident")
#> Picking joint bandwidth of 0.126
<!-- -->
r
# same.y.lim only works when stack = TRUE
RidgePlot(pbmc, features = c("CD3E", "FCN1"), same.y.lims = T,)
#> Picking joint bandwidth of 0.126
#> Picking joint bandwidth of 0.119
<!-- -->
r
RidgePlot(pbmc, features = c("CD3E", "FCN1"), same.y.lims = F,)
#> Picking joint bandwidth of 0.126
#> Picking joint bandwidth of 0.119
<!-- -->
r
RidgePlot(pbmc, features = c("CD3E", "FCN1"), same.y.lims = T, stack = T)
#> Picking joint bandwidth of 0.126
#> Picking joint bandwidth of 0.119
<!-- -->
r
RidgePlot(pbmc, features = c("CD3E", "FCN1"), same.y.lims = F, stack = T)
#> Picking joint bandwidth of 0.126
#> Picking joint bandwidth of 0.119
<!-- -->
r
# y.max doesn't work
RidgePlot(pbmc, features = c("CD3E", "FCN1"))
#> Picking joint bandwidth of 0.126
#> Picking joint bandwidth of 0.119
<!-- -->
r
RidgePlot(pbmc, features = c("CD3E", "FCN1"), y.max = 6)
#> Picking joint bandwidth of 0.126
#> Picking joint bandwidth of 0.119
<!-- -->
<sup>Created on 2026-07-01 with [reprex v2.1.1](https://reprex.tidyverse.org)</sup>
<details style="margin-bottom:10px;">
<summary>
Session info
</summary>
r
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.6.0 (2026-04-24)
#> os macOS Sequoia 15.7.5
#> system aarch64, darwin23
#> ui X11
#> language (EN)
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz America/New_York
#> date 2026-07-01
#> pandoc 3.8.3 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/aarch64/ (via rmarkdown)
#> quarto 1.9.37 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/quarto
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> package * version date (UTC) lib source
#> abind 1.4-8 2024-09-12 [1] CRAN (R 4.6.0)
#> beeswarm 0.4.0 2021-06-01 [1] CRAN (R 4.6.0)
#> cli 3.6.6 2026-04-09 [1] CRAN (R 4.6.0)
#> cluster 2.1.8.2 2026-02-05 [1] CRAN (R 4.6.0)
#> codetools 0.2-20 2024-03-31 [1] CRAN (R 4.6.0)
#> cowplot 1.2.0 2025-07-07 [1] CRAN (R 4.6.0)
#> curl 7.1.0 2026-04-22 [1] CRAN (R 4.6.0)
#> data.table 1.18.4 2026-05-06 [1] CRAN (R 4.6.0)
#> deldir 2.0-4 2024-02-28 [1] CRAN (R 4.6.0)
#> dichromat 2.0-0.1 2022-05-02 [1] CRAN (R 4.6.0)
#> digest 0.6.39 2025-11-19 [1] CRAN (R 4.6.0)
#> dotCall64 1.2 2024-10-04 [1] CRAN (R 4.6.0)
#> dplyr * 1.2.1 2026-04-03 [1] CRAN (R 4.6.0)
#> evaluate 1.0.5 2025-08-27 [1] CRAN (R 4.6.0)
#> farver 2.1.2 2024-05-13 [1] CRAN (R 4.6.0)
#> fastDummies 1.7.6 2026-04-22 [1] CRAN (R 4.6.0)
#> fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.6.0)
#> fitdistrplus 1.2-6 2026-01-24 [1] CRAN (R 4.6.0)
#> forcats * 1.0.1 2025-09-25 [1] CRAN (R 4.6.0)
#> fs 2.1.0 2026-04-18 [1] CRAN (R 4.6.0)
#> future 1.70.0 2026-03-14 [1] CRAN (R 4.6.0)
#> future.apply 1.20.2 2026-02-20 [1] CRAN (R 4.6.0)
#> generics 0.1.4 2025-05-09 [1] CRAN (R 4.6.0)
#> ggbeeswarm 0.7.3 2025-11-29 [1] CRAN (R 4.6.0)
#> ggplot2 * 4.0.3 2026-04-22 [1] CRAN (R 4.6.0)
#> ggrastr 1.0.2 2023-06-01 [1] CRAN (R 4.6.0)
#> ggrepel 0.9.8 2026-03-17 [1] CRAN (R 4.6.0)
#> ggridges 0.5.7 2025-08-27 [1] CRAN (R 4.6.0)
#> globals 0.19.1 2026-03-13 [1] CRAN (R 4.6.0)
#> glue 1.8.1 2026-04-17 [1] CRAN (R 4.6.0)
#> goftest 1.2-3 2021-10-07 [1] CRAN (R 4.6.0)
#> gridExtra 2.3 2017-09-09 [1] CRAN (R 4.6.0)
#> gtable 0.3.6 2024-10-25 [1] CRAN (R 4.6.0)
#> hms 1.1.4 2025-10-17 [1] CRAN (R 4.6.0)
#> htmltools 0.5.9 2025-12-04 [1] CRAN (R 4.6.0)
#> htmlwidgets 1.6.4 2023-12-06 [1] CRAN (R 4.6.0)
#> httpuv 1.6.17 2026-03-18 [1] CRAN (R 4.6.0)
#> httr 1.4.8 2026-02-13 [1] CRAN (R 4.6.0)
#> ica 1.0-3 2022-07-08 [1] CRAN (R 4.6.0)
#> igraph 2.3.1 2026-05-04 [1] CRAN (R 4.6.0)
#> irlba 2.3.7 2026-01-30 [1] CRAN (R 4.6.0)
#> jsonlite 2.0.0 2025-03-27 [1] CRAN (R 4.6.0)
#> KernSmooth 2.23-26 2025-01-01 [1] CRAN (R 4.6.0)
#> knitr 1.51 2025-12-20 [1] CRAN (R 4.6.0)
#> labeling 0.4.3 2023-08-29 [1] CRAN (R 4.6.0)
#> later 1.4.8 2026-03-05 [1] CRAN (R 4.6.0)
#> lattice 0.22-9 2026-02-09 [1] CRAN (R 4.6.0)
#> lazyeval 0.2.3 2026-04-04 [1] CRAN (R 4.6.0)
#> lifecycle 1.0.5 2026-01-08 [1] CRAN (R 4.6.0)
#> listenv 0.10.1 2026-03-10 [1] CRAN (R 4.6.0)
#> lmtest 0.9-40 2022-03-21 [1] CRAN (R 4.6.0)
#> lubridate * 1.9.5 2026-02-04 [1] CRAN (R 4.6.0)
#> magrittr 2.0.5 2026-04-04 [1] CRAN (R 4.6.0)
#> MASS 7.3-65 2025-02-28 [1] CRAN (R 4.6.0)
#> Matrix 1.7-5 2026-03-21 [1] CRAN (R 4.6.0)
#> matrixStats 1.5.0 2025-01-07 [1] CRAN (R 4.6.0)
#> mime 0.13 2025-03-17 [1] CRAN (R 4.6.0)
#> miniUI 0.1.2 2025-04-17 [1] CRAN (R 4.6.0)
#> nlme 3.1-169 2026-03-27 [1] CRAN (R 4.6.0)
#> otel 0.2.0 2025-08-29 [1] CRAN (R 4.6.0)
#> parallelly 1.47.0 2026-04-17 [1] CRAN (R 4.6.0)
#> patchwork * 1.3.2 2025-08-25 [1] CRAN (R 4.6.0)
#> pbapply 1.7-4 2025-07-20 [1] CRAN (R 4.6.0)
#> pbmc3k.SeuratData 3.1.4 2026-05-13 [1] local
#> pillar 1.11.1 2025-09-17 [1] CRAN (R 4.6.0)
#> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.6.0)
#> plotly 4.12.0 2026-01-24 [1] CRAN (R 4.6.0)
#> plyr 1.8.9 2023-10-02 [1] CRAN (R 4.6.0)
#> png 0.1-9 2026-03-15 [1] CRAN (R 4.6.0)
#> polyclip 1.10-7 2024-07-23 [1] CRAN (R 4.6.0)
#> progressr 0.19.0 2026-03-31 [1] CRAN (R 4.6.0)
#> promises 1.5.0 2025-11-01 [1] CRAN (R 4.6.0)
#> purrr * 1.2.2 2026-04-10 [1] CRAN (R 4.6.0)
#> R6 2.6.1 2025-02-15 [1] CRAN (R 4.6.0)
#> RANN 2.6.2 2024-08-25 [1] CRAN (R 4.6.0)
#> RColorBrewer 1.1-3 2022-04-03 [1] CRAN (R 4.6.0)
#> Rcpp 1.1.1-1.1 2026-04-24 [1] CRAN (R 4.6.0)
#> RcppAnnoy 0.0.23 2026-01-12 [1] CRAN (R 4.6.0)
#> RcppHNSW 0.6.0 2024-02-04 [1] CRAN (R 4.6.0)
#> readr * 2.2.0 2026-02-19 [1] CRAN (R 4.6.0)
#> reprex 2.1.1 2024-07-06 [1] CRAN (R 4.6.0)
#> reshape2 1.4.5 2025-11-12 [1] CRAN (R 4.6.0)
#> reticulate 1.46.0 2026-04-09 [1] CRAN (R 4.6.0)
#> rlang 1.2.0 2026-04-06 [1] CRAN (R 4.6.0)
#> rmarkdown 2.31 2026-03-26 [1] CRAN (R 4.6.0)
#> ROCR 1.0-12 2026-01-23 [1] CRAN (R 4.6.0)
#> RSpectra 0.16-2 2024-07-18 [1] CRAN (R 4.6.0)
#> rstudioapi 0.18.0 2026-01-16 [1] CRAN (R 4.6.0)
#> Rtsne 0.17 2023-12-07 [1] CRAN (R 4.6.0)
#> S7 0.2.2 2026-04-22 [1] CRAN (R 4.6.0)
#> scales 1.4.0 2025-04-24 [1] CRAN (R 4.6.0)
#> scattermore 1.2 2023-06-12 [1] CRAN (R 4.6.0)
#> sctransform 0.4.3 2026-01-10 [1] CRAN (R 4.6.0)
#> sessioninfo 1.2.3 2025-02-05 [1] CRAN (R 4.6.0)
#> Seurat * 5.5.1 2026-06-26 [1] CRAN (R 4.6.1)
#> SeuratObject * 5.4.0 2026-04-11 [1] CRAN (R 4.6.0)
#> shiny 1.13.0 2026-02-20 [1] CRAN (R 4.6.0)
#> sp * 2.2-1 2026-02-13 [1] CRAN (R 4.6.0)
#> spam 2.11-3 2026-01-08 [1] CRAN (R 4.6.0)
#> spatstat.data 3.1-9 2025-10-18 [1] CRAN (R 4.6.0)
#> spatstat.explore 3.8-0 2026-03-22 [1] CRAN (R 4.6.0)
#> spatstat.geom 3.7-3 2026-03-23 [1] CRAN (R 4.6.0)
#> spatstat.random 3.4-5 2026-03-22 [1] CRAN (R 4.6.0)
#> spatstat.sparse 3.1-0 2024-06-21 [1] CRAN (R 4.6.0)
#> spatstat.univar 3.1-7 2026-03-18 [1] CRAN (R 4.6.0)
#> spatstat.utils 3.2-3 2026-05-10 [1] CRAN (R 4.6.0)
#> stringi 1.8.7 2025-03-27 [1] CRAN (R 4.6.0)
#> stringr * 1.6.0 2025-11-04 [1] CRAN (R 4.6.0)
#> survival 3.8-6 2026-01-16 [1] CRAN (R 4.6.0)
#> tensor 1.5.1 2025-06-17 [1] CRAN (R 4.6.0)
#> tibble * 3.3.1 2026-01-11 [1] CRAN (R 4.6.0)
#> tidyr * 1.3.2 2025-12-19 [1] CRAN (R 4.6.0)
#> tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.6.0)
#> tidyverse * 2.0.0 2023-02-22 [1] CRAN (R 4.6.0)
#> timechange 0.4.0 2026-01-29 [1] CRAN (R 4.6.0)
#> tzdb 0.5.0 2025-03-15 [1] CRAN (R 4.6.0)
#> uwot 0.2.4 2025-11-10 [1] CRAN (R 4.6.0)
#> vctrs 0.7.3 2026-04-11 [1] CRAN (R 4.6.0)
#> vipor 0.4.7 2023-12-18 [1] CRAN (R 4.6.0)
#> viridisLite 0.4.3 2026-02-04 [1] CRAN (R 4.6.0)
#> withr 3.0.2 2024-10-28 [1] CRAN (R 4.6.0)
#> xfun 0.57 2026-03-20 [1] CRAN (R 4.6.0)
#> xml2 1.5.2 2026-01-17 [1] CRAN (R 4.6.0)
#> xtable 1.8-8 2026-02-22 [1] CRAN (R 4.6.0)
#> yaml 2.3.12 2025-12-10 [1] CRAN (R 4.6.0)
#> zoo 1.8-15 2025-12-15 [1] CRAN (R 4.6.0)
#>
#> [1] /Library/Frameworks/R.framework/Versions/4.6/Resources/library
#> * ── Packages attached to the search path.
#>
#> ──────────────────────────────────────────────────────────────────────────────
</details>
Error Message
Additional Comments
No response
Session Info
Issue Description
Hi Seurat Team,
I don't think I have bandwidth to directly submit PR for this so posting here but will work on it if things change.
Three
RidgePlotparameters appear to be broken in current Seurat release.fill.by(doesn't work)y.max(doesn't work)same.y.lims(only changes ifstack = TRUE; unsure if this is intended behavior, but unsure even then it's doing so correctly)Reprex (below) showing plots not changing when parameters changed.
Thanks!
Sam
Reproducing Code Example
Error Message
Additional Comments
No response
Session Info