Widziałem wiele pytań (często związanych z Order Bars in ggplot2 bar graph) dotyczących sposobu (ponownego) zamawiania kategorii na wykresie słupkowym.Wykres słupkowy ggplot z kolejnością zależną od aspektu kategorii
To, czego szukam, to tylko dotyk inny, ale nie znalazłem na to dobrego sposobu: Mam wieloaspektowy wykres słupkowy i chcę zamówić oś x dla każdego aspektu niezależnie, zgodnie z do innej zmiennej (w moim przypadku ta zmienna jest samą wartością y, tzn. po prostu chcę, aby paski były coraz dłuższe w każdym aspekcie).
Prosty przykład, np. Order Bars in ggplot2 bar graph:
df <- data.frame(name=c('foo','bar','foo','bar'),period=c('old','old','recent','recent'),val=c(1.23,2.17,4.15,3.65))
p = ggplot(data = df, aes(x = reorder(name, val), y = val))
p = p + geom_bar(stat='identity')
p = p + facet_grid(~period)
p
Co mamy jest następujący:
Zważywszy, co chcę jest:
O mój Boże! Czy piszesz odnośnik do * How to Lie with Statistics *? – John
Jedynym sposobem na zrobienie tego będzie utworzenie oddzielnych działek i użycie 'grid.arrange' z pakietu' gridExtra'. Zgadzam się jednak, że generalnie nie prowadzi to do bardzo ładnej fabuły. (Przekonasz się o tym dużo w ggplot, jeśli coś naprawdę trudno jest zrobić, prawdopodobnie dlatego, że próbuje powstrzymać cię od zrobienia czegoś głupiego.Nie zawsze, ale dużo ...) – joran
Tak, dziękuję, niezbyt przydatne, ale dzięki. W kontekście, w którym go używamy, jest to ważna fabuła, a porządkowanie kategorii jest bardzo przemyślane. Tutaj sprowadziłem to do minimalnego przykładu, ale w naszej aplikacji sortujemy kilkanaście sygnałów w zależności od ich uświadomionej addytywności, a posiadanie krat w miejscu w jakimś aspekcie byłoby niedopuszczalne. –