plotly / plotly/plotly.R

Individual `barpolar` plots get merged into a single plot when using `subplot()`

Open
#2,402 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
R
Stars
2.7k
Forks
641
PR merge metrics
No merged PRs in 30d

Description

Description of the issue

When I try to display any given number of barpolar plots using the subplot() function, plotly only shows one plot that has somehow aggregated all of the data from the individual plots.

Minimal reprex

Code
library(plotly)

# First barpolar plot
plot1 <- plot_ly(type = 'barpolar') %>%
  add_trace(
    r = c(10, 15, 20, 25, 30),
    theta = c("A", "B", "C", "D", "E"),
    marker = list(color = c("red", "blue", "green", "purple", "orange")),
    name = "Plot 1"
  ) %>%
  layout(title = "Barpolar Plot 1")

# Second barpolar plot
plot2 <- plot_ly(type = 'barpolar') %>%
  add_trace(
    r = c(5, 10, 15, 20, 25),
    theta = c("A", "B", "C", "D", "E"),
    marker = list(color = c("cyan", "magenta", "yellow", "gray", "pink")),
    name = "Plot 2"
  ) %>%
  layout(title = "Barpolar Plot 2")

# Combine the two plots into a subplot
subplot(plot1, plot2, nrows = 1)
Result

Image

Expected result

Both plots shown individually, in a grid with 1 column and 2 rows.

Show session info
R version 4.4.1 (2024-06-14)
Platform: aarch64-apple-darwin20
Running under: macOS Sonoma 14.1.1

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: Europe/Madrid
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] lubridate_1.9.3 forcats_1.0.0   stringr_1.5.1   dplyr_1.1.4    
 [5] purrr_1.0.2     readr_2.1.5     tidyr_1.3.1     tibble_3.2.1   
 [9] tidyverse_2.0.0 plotly_4.10.4   ggplot2_3.5.1  

loaded via a namespace (and not attached):
 [1] gtable_0.3.5      jsonlite_1.8.8    compiler_4.4.1    tidyselect_1.2.1 
 [5] scales_1.3.0      yaml_2.3.9        fastmap_1.2.0     R6_2.5.1         
 [9] generics_0.1.3    htmlwidgets_1.6.4 munsell_0.5.1     tzdb_0.4.0       
[13] pillar_1.9.0      rlang_1.1.4       utf8_1.2.4        stringi_1.8.4    
[17] lazyeval_0.2.2    timechange_0.3.0  viridisLite_0.4.2 cli_3.6.3        
[21] withr_3.0.0       magrittr_2.0.3    crosstalk_1.2.1   digest_0.6.36    
[25] grid_4.4.1        rstudioapi_0.16.0 hms_1.1.3         lifecycle_1.0.4  
[29] vctrs_0.6.5       glue_1.7.0        data.table_1.15.4 fansi_1.0.6      
[33] colorspace_2.1-0  httr_1.4.7        tools_4.4.1       pkgconfig_2.0.3  
[37] htmltools_0.5.8.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the supplied R reprex and trace how subplot() combines the two barpolar plotly objects. Compare the generated subplot layout and trace assignments for barpolar plots, then run the reprex to verify that each input remains in its own grid cell rather than being aggregated.

Written by the indexing model from the issue text.

Assessment

Tech stack
plotly, 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.