Na mojej fabule z 2 legendami (jedna dla kształtu i jedna dla koloru), mój szef myli się, że legenda kolorów już wybrała jeden z kształtów. Przykład:
a <- data.frame(name = c("A","B","C","D"),
type = c("dog","dog", "cat", "cat"),
location = c("house", "house", "house", "garden"),
count = c(3,1,5,8))
ggplot(a, aes(x=name, y=count, color=location, shape=type)) +
geom_point(size=7)
produkuje następujące elementy:
W tym przykładzie legenda „lokalizacja” towyjaśnienie kolorów poprzez pokazanie kolorowych kół (ale kółka oznaczają także kota, co najwyraźniej jest mylące). Jak zmusić legendę „lokalizacji”, by JUST pokazywał kolor, a nie kształt? Może idealnym rozwiązaniem byłoby pokazanie lokalizacji jako czerwonych i niebieskich prostokątów.
Odpowiedzi:
4 dla odpowiedzi № 1Możesz użyć funkcji guides()
i override.aes=
zmienić kształt na prostokąt dla legendy kolorów. Następnie możesz usunąć tło z klawiszy legendy, aby uzyskać lepszy wygląd theme()
.
ggplot(a, aes(x=name, y=count, color=location, shape=type)) +
geom_point(size=7)+
guides(color=guide_legend(override.aes=list(shape=15)))+
theme(legend.key=element_blank())
0 dla odpowiedzi nr 2
aby usunąć legendę kształtu, możesz wykonać następujące czynności:
ggplot(a, aes(x=name, y=count, color=location, shape=type)) + geom_point(size=7) + guides(shape=FALSE)
To usuwa legendę kształtu, ale nie jestem pewien, czy zmienić kształt w legendzie kolorów.