Można to zrobić na dwa kroki:
Najpierw definiujesz grupy, które powinny mieć różne kolory; albo przez dodanie kolejnej kolumny do ramki danych lub wewnątrz aes
. Użyję aes
tutaj:
aes(wt, mpg, color = cut(mpg, breaks = c(0, 20, 25, Inf)))
drugie, określając ręcznej koloru lub wypełnienie skali:
scale_color_manual(values = c('blue', 'green', 'red'),
limits = c('(0,20]', '(20,25]', '(25,Inf]'))
ten określa, jakie kolory użyć (values
) i które etykiety przypisać im (limits
); są to nazwy grup generowanych przez cut
.
Reasumując:
ggplot(mtcars) +
aes(wt, mpg, color = cut(mpg, breaks = c(0, 20, 25, Inf))) +
geom_point(size = 4) +
scale_color_manual(values = c('blue', 'green', 'red'),
limits = c('(0,20]', '(20,25]', '(25,Inf]'))
Można poprawić tytuł legendy, dodając grupy jako oddzielnej kolumnie do swoich danych, albo poprzez zapewnienie połączenia guides
funkcję:
guides(color = guide_legend(title = 'mpg range'))
bardzo pomocne rozwiązanie! Dziękuję za Twój czas :) – Pavlos