Próbowałem wygenerować serię wykresów punktowych razem przy użyciu facet_grid. Robiąc to zauważyłem, że geom_dotplot nie reaguje na argument facet_grid's scale = "free_y".ggplot2: Brak wolnych osi wagi podczas korzystania z geom_dotplot z facet_grid
Oto przykładowy kod:
require(ggplot2)
#Example data
set.seed(3)
df = data.frame(Gene = rep(c("a", "b", "c", "d"), each=20),
ToD = rep(c("Morning", "Evening"), times = 40),
Expression = c(runif(20, min=0, max=10),
runif(20, min=0, max=1),
runif(20, min=0, max=1000),
runif(20, min=0, max=100)))
#Box plots of example data
ggplot(df, aes(x = ToD, y = Expression)) +
geom_boxplot() +
facet_grid(Gene ~ ., scales = "free_y")
#Dot plots of example data
ggplot(df, aes(x = ToD, y = Expression)) +
geom_dotplot(binaxis = "y", stackdir = "centerwhole") +
facet_grid(Gene ~ ., scales = "free_y")
A oto wersje R i ggplot2 obecnie używam:
- R w wersji 3.2.2 (14.08.2015)
- ggplot2_1.0.1.9003
Więc kiedy generowania wykresów skrzynkowych, wszystko działa zgodnie z oczekiwaniami z osi y skalowanie odpowiednio dla każdego wiersza fasetowanie:
Jednak wykresy dot utrzymać te same łuski oś Y dla każdego fasetowanie rzędu:
Czytałem o znanej bug w ggplot2 gdzie coord_flip i facet_grid nie współdziałają podczas określania wolnych skal. Czy jest to związane z tym samym problemem?
Chociaż mogłem wygenerować każdy z działek indywidualnie, a następnie połączyć je z grid.arrange, jest to uciążliwe dla moich celów. Próbuję wyrównać te wykresy punktowe z innymi działkami fasetowanymi i chciałbym uniknąć konieczności ponownego generowania wszystkich tych przy użyciu grid.arrange. jakieś pomysły?
Dziękuję za pomoc, którą możesz zaoferować, i daj mi znać, jeśli będę mógł udzielić dalszych wyjaśnień.
I był w stanie powtórzyć błędu z '' ggplot2_1.0.1' i R w wersji 3.2.2 (2015-08-14) ', działa dobrze dla mnie – mlegge
Właśnie zaktualizowałem do ggplot2_2.0.0 i nadal mam uruchomiony ten sam problem. Chyba muszę zmienić wersję na niższą? –
Udało mi się zreplikować błąd za pomocą 'ggplot2_2.0.0' i tej samej wersji R – mlegge