plotly / plotly/plotly.R

subplot missing Y labels when plots are faced

未关闭
#1,415 3 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

bug
主要语言
R
星标
2.7k
派生
641
PR 合并指标
30 天内没有已合并 PR

描述

Dears, I'm working with the subplot function with two (or more) ggplotly objects, but when I try to put two different charts, the final subplot output give me the two charts without the labels that I can put in the previous ones.

for example:

library(plotly)

random dataframe 1

df1<-data.frame(x1=as.factor(rep(seq(1:5),3)),y1=sample(seq(0:100000),30),z1=c("class1","class2","class3"))
df1

random dataframe2 (with same x1 axis)

df2<-data.frame(x2=df1$x1,y2=sample(seq(0:5),30,replace = T), z2=c("a","b","c"))
df2

chart1 as boxplot and personalized ylab

p1<-ggplotly(ggplot(df1,aes(x1,y1)) + 
               geom_boxplot() +
               ylab("test ylab1") +
               facet_grid(z1~.))
p1

screen shot 2018-11-26 at 7 52 53 pm

chart1 as boxplot and personalized ylab

p2<-ggplotly(ggplot(df2,aes(x2,y2)) + 
               geom_bar(,stat = "identity") + 
               ylab("test ylab2") + 
               facet_grid(z2~.,margins = TRUE))
p2

screen shot 2018-11-26 at 7 53 55 pm

but applying subplot the ylabels are missing

subplot(plotlist,nrows = 2, shareY = TRUE)

screen shot 2018-11-26 at 7 54 24 pm

I notice the option shareY=TRUE works well when the ggplot objects doesn't have (in my case) facet_grid

I tried some alternatives using %>% layouts but is not the solution I'm looking for (even more if we consider this for N plots), so my questions are:

  • is there a way to recover o preserve the ylabs from original ggplot objects when they are faced?
  • or at least create new ones for each subplot?
  • it is a bug?

sessionInfo()

R version 3.5.0 (2018-04-23)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

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

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

other attached packages:
 [1] bindrcpp_0.2.2        maps_3.3.0            RPostgreSQL_0.6-2     rmongodb_1.8.0        cowplot_0.9.2        
 [6] scales_0.5.0          reshape2_1.4.3        RMySQL_0.10.15        DBI_1.0.0             dplyr_0.7.8          
[11] shinycssloaders_0.2.0 shiny_1.2.0           plotly_4.8.0          ggplot2_3.1.0        

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.0          pillar_1.2.2        compiler_3.5.0      later_0.7.5         plyr_1.8.4         
 [6] bindr_0.1.1         tools_3.5.0         digest_0.6.15       jsonlite_1.5        tibble_1.4.2       
[11] gtable_0.2.0        viridisLite_0.3.0   pkgconfig_2.0.1     rlang_0.3.0.1       rstudioapi_0.7     
[16] crosstalk_1.0.0     yaml_2.1.19         stringr_1.3.1       withr_2.1.2         httr_1.3.1         
[21] htmlwidgets_1.2     grid_3.5.0          tidyselect_0.2.4    glue_1.2.0          data.table_1.10.4-3
[26] R6_2.2.2            purrr_0.2.4         tidyr_0.8.0         magrittr_1.5        promises_1.0.1     
[31] htmltools_0.3.6     assertthat_0.2.0    mime_0.5            colorspace_1.3-2    xtable_1.8-2       
[36] httpuv_1.4.5        labeling_0.3        stringi_1.2.3       lazyeval_0.2.1      munsell_0.4.3      
[41] crayon_1.3.4 

thanks you very much in advance!,
Sandro

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先使用 ggplotly() 和 subplot(..., shareY = TRUE) 运行所提供的 R 示例,并将各个图与组合输出进行比较。跟踪 subplot 和 ggplotly 对 facet_grid 轴标题的处理;完成的标准是组合后的图为每个子图保留或提供预期的 Y 轴标签,并为该示例添加回归测试。

由索引模型根据 Issue 内容生成。

评估

技术栈
r
领域
data-visualization
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
42/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。