Skip to content

BUG: Multiple RidgePlot parameters appear to be broken #10421

Description

@samuel-marsh

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


![](https://i.imgur.com/l7Dr9px.png)<!-- -->

 r
RidgePlot(pbmc, features = "CD3E", fill.by = "feature")
#> Picking joint bandwidth of 0.126


![](https://i.imgur.com/thx7zcZ.png)<!-- -->

 r
RidgePlot(pbmc, features = "CD3E", fill.by = "ident")
#> Picking joint bandwidth of 0.126


![](https://i.imgur.com/KaNjDRu.png)<!-- -->

 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


![](https://i.imgur.com/fMFEix1.png)<!-- -->

 r
RidgePlot(pbmc, features = c("CD3E", "FCN1"), same.y.lims = F,)
#> Picking joint bandwidth of 0.126
#> Picking joint bandwidth of 0.119


![](https://i.imgur.com/CaVq7RE.png)<!-- -->

 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


![](https://i.imgur.com/4TUMo6n.png)<!-- -->

 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


![](https://i.imgur.com/BDQ33xJ.png)<!-- -->

 r

# y.max doesn't work
RidgePlot(pbmc, features = c("CD3E", "FCN1"))
#> Picking joint bandwidth of 0.126
#> Picking joint bandwidth of 0.119


![](https://i.imgur.com/R2U6WmS.png)<!-- -->

 r
RidgePlot(pbmc, features = c("CD3E", "FCN1"), y.max = 6)
#> Picking joint bandwidth of 0.126
#> Picking joint bandwidth of 0.119


![](https://i.imgur.com/EnKmTrb.png)<!-- -->

<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

see reprex

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions