Czy istnieje sposób zmiany wysokości/długości osi Y dla poszczególnych aspektów w facet_grid
lub facet_wrap
?Dopasowywanie względnej przestrzeni paneli w siatce-faceta/facet_wrap w ggplot2
Przykładowo
library(ggplot2)
ggplot(economics_long[economics_long$variable %in% c("pop", "uempmed"),], aes(date, value)) +
geom_line() +
facet_grid(variable~., scales = "free_y") +
theme(strip.background = element_blank())
W powyżej wykresu, ja jak czas pop wysokość serii oś y/długość być, na przykład, dwa razy większą od uempmed Y- długość osi (2: 1), niezależnie od tego, czy dwie serie czasowe mają różne skale osi y.
Jak to, co robi tutaj Kohske, w znacznie starszej wersji ggplot2, która nie działa w ggplot> = 2.0.0:
https://kohske.wordpress.com/2010/12/25/adjusting-the-relative-space-of-a-facet-grid/
wiem, że mogę podać argument space = "free"
w facet_grid
, ale nie sądzę, że ten argument może być użyty do ustawienia stosunku osi Y na 2: 1?
Ja także nie chcę używać rozwiązania typu "grid.arrange" do zestawiania osobno utworzonych ggplots (gdzie mogę wykonać 2 oddzielne wątki o różnych długościach osi Y), ponieważ chciałbym idealnie zrobić wykorzystanie interaktywnych funkcji ggplot2 Shiny'ego w tym jednym pojedynczym wykresie facet_wrap
(np. interaktywny przykład błyszczącej ściany z pędzlem jest w połowie tej strony tutaj: http://shiny.rstudio.com/articles/selecting-rows-of-data.html).
Czy kiedykolwiek znalazł rozwiązanie swojego problemu? Pytam, ponieważ mam dokładnie to samo pytanie. A co zrobić, gdy masz 3 siatki i chcesz je w proporcji (2, 1, 1). Jest to całkiem łatwe do zrobienia z grid_extra i parametrem heights, ale nie wyrównują się one dobrze w pionie – Franky
Niestety jeszcze nie. Być może jest na to sposób, zwłaszcza jeśli chodzi o aktualizacje ggplot2 w ciągu ostatniego roku, ale nie jestem tego świadomy. Zgaduję, że prawdopodobnie nadal wymaga implementacji w źródle ggplot2, którego nie znam. – FXQuantTrader