Используйте geom_point
для данных разброса и geom_polygon
для рисования и заполнения областей.
geom_polygon
соединяет точки xy, начальная и конечная точки соединены, а внутренняя часть закрашена заливкой (подробнее здесь)
В следующем примере все полигоны начинаются с 0,0
pol.3 = data.frame(x=c(0,8,0), y=c(0,0,5))
pol.2 = data.frame(x=c(0,4,0), y=c(0,0,4))
pol.1 = data.frame(x=c(0,3,0), y=c(0,0,2))
ggplot(a) +
geom_polygon(data=pol.3, aes(x=x, y=y), fill = "blue") +
geom_polygon(data=pol.2, aes(x=x, y=y), fill = "green") +
geom_polygon(data=pol.1, aes(x=x, y=y), fill = "red") +
geom_point(aes(x=x, y=y))
Если вы не хотите, чтобы ваши полигоны перекрывались, используйте следующие данные
pol.3 = data.frame(x=c(4,8,0,0), y=c(0,0,5,4))
pol.2 = data.frame(x=c(3,4,0, 0), y=c(0,0,4,2))
pol.1 = data.frame(x=c(0,3,0), y=c(0,0,2))
Результат будет таким же, но без перекрытия, поэтому вы можете использовать alpha
для настройки цвета заливки