Chciałbym utworzyć działkę z marginesami w ggplot2. Chciałbym jednak, aby wykres marży miał kolory zgodnie z tym, od którego aspektu pochodzi konkretny punkt. To chyba najlepiej ilustruje na przykładzie:Kolorowanie punktów według współczynnika na marginesie fasetowanego wykresu ggplot2 w R
library(ggplot2)
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p + facet_grid(.~gear, margins = TRUE)
obrębie działki margines oznaczonego jako „(wszystkie)”, chcę te kropki, które mają „bieg = 3”, aby być wykreślone z jednego koloru, te z „biegu = 4 "z drugim kolorem, a te z" biegiem = 5 "z trzecim.
Ten nie wykonać zadanie:
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point(aes(col=gear))
p + facet_grid(.~gear, margins = TRUE)
Czy istnieje sposób, aby osiągnąć to, co chcę?
Ok, dzięki, że to naprawdę dobry i prosty pomysł! Jedyną wadą jest to, że w tym przypadku nie widzę sposobu na usunięcie kolorów z wykresów bez marginesów. Czy naprawdę masz pojęcia, dlaczego 'col (gear)' (lub 'col = (as.factor (gear))) nie działa, ale' col = ref' ma? – AnjaM
Czy edycja jest lepsza? Nie jest to najbardziej eleganckie rozwiązanie, ale mam nadzieję, że pomoże. Myślę, że ma to związek z definiowaniem koloru i faceting z tą samą zmienną, ggplot nadaje każdemu aspektowi swój własny kolor. –
@AnjaM możesz spróbować dodać 'scale_color_manual (values = c (" black "," red "," green "," blue "))'. 'col = (as.factor (gear))' nie zadziała, ale 'col = as.factor (gear)' powinno być – Carson