plotly / plotly/plotly.R

subplot missing Y labels when plots are faced

Offen
#1,415 3 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug
Vorherrschende Sprache
R
Sterne
2.7k
Forks
641
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie damit, das bereitgestellte R-Beispiel mit ggplotly() und subplot(..., shareY = TRUE) auszuführen, und vergleichen Sie die einzelnen Plots mit der kombinierten Ausgabe. Verfolgen Sie die Verarbeitung der Achsentitel von facet_grid durch subplot und ggplotly; als erledigt gilt die Aufgabe, wenn die kombinierten Plots die erwarteten Y-Achsenbeschriftungen für jedes Teilplot beibehalten oder bereitstellen, mit einem Regressionstest für das Beispiel.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
r
Bereich
data-visualization
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.