subplot() not producing the interactive equivalent of gridExtra::grid.arrange()
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- R
- Sterne
- 2.7k
- Forks
- 641
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Given:
library(ggplot2)
library(gridExtra)
library(plotly)
library(colorRamps)
d <- data.frame(x=sample(1:10)/10, y=sample(1:10)/10, z=sample(1:10)/10, c=sample(LETTERS[1:5],size=10,replace=TRUE))
g1 <- ggplot(d) +
geom_point(aes(x=x, y=y, fill = z),
pch=21,size=4) +
facet_wrap(~c,labeller = label_both) +
scale_fill_gradientn(colors = matlab.like2(16),limits=c(0, 100)) +
xlim(c(0,1)) + ylim(c(0,1)) +
coord_fixed(ratio = 1) +
theme(legend.position=c(0.85,0.2), legend.background=element_blank()) +
labs(fill = "%")
g2<- g1+ggtitle("Plot 2")
g3<- g1+gtitle("Plot 3")
g4<- g1+ggtitle("Plot 4")
g1<- g1+ggtitle("Plot 1")
p = list(g1,g2,g3,g4) %>% map(~.x + labs(x=NULL, y=NULL))
yleft= "X"
xbottom= "Y"
grid.arrange(grobs=p,bottom = xbottom, left = yleft,nrow=2)
I want to get the same plot but with interactive browsing of the values. I try:
pg1 <- ggplotly(g1)
pg2 <- ggplotly(g2)
pg3 <- ggplotly(g3)
pg4 <- ggplotly(g4)
Individual plots are ok:
pg1
But
subplot(list(pg1, pg2,pg3,pg4), nrows=2,
shareX=FALSE, shareY=FALSE,titleX=TRUE,titleY=TRUE)
or
subplot(list(pg1, pg2,pg3,pg4), nrows=2,
shareX=FALSE, shareY=FALSE,titleX=FALSE,titleY=FALSE)
result into:
Which is almost good but displays only 1 title (and in the wrong place) and no axes titles.
I try
subplot(list(pg1, pg2,pg3,pg4), nrows=2,
shareX=TRUE, shareY=TRUE,titleX=FALSE,titleY=FALSE)
and
subplot(list(pg1, pg2,pg3,pg4), nrows=2,
shareX=TRUE, shareY=TRUE,titleX=TRUE,titleY=TRUE)
and the result is even worse:
Is this a bug or am I doing something wrong? Is there an alternative way to get the interactive version of the grid?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit den im Issue reproduzierten Aufrufen von ggplotly() und subplot() und vergleiche deren Ausgabe mit grid.arrange(). Verfolge, wie subplot() mehrere Plot-Titel, gemeinsame Achsen und Achsentitel behandelt. Als abgeschlossen gilt die Aufgabe, wenn die vier konvertierten Plots in einer interaktiven Anordnung mit zwei Zeilen die erwarteten Titel und Achsen beibehalten oder das Verhalten als Einschränkung dokumentiert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- r
- Bereich
- data-visualization
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100