Для чистого построения я нашел это решение.
library(ggplot2)
dfr <- data.frame(x=c(2,2.5,4,5,4.5,3,2),y=c(2,3,3.5,3,2.8,2.5,2))
# vanilla polygon
ggplot(dfr,aes(x,y))+
geom_polygon(fill=NA,col="black")+
theme_minimal()
# enlarge polygon
library(ggforce)
ggplot(dfr,aes(x,y))+
geom_polygon(fill=NA,col="black")+
geom_shape(fill=NA,col="red",expand=unit(0.2,"cm"))+
theme_minimal()
# enlarge with pretty curved edges
library(ggforce)
ggplot(dfr,aes(x,y))+
geom_polygon(fill=NA,col="black")+
geom_shape(fill=NA,col="red",expand=unit(0.2,"cm"),radius=unit(0.2,"cm"))+
theme_minimal()
Обратите внимание, что версия ggforce 0.1.3
в CRAN пока не имеет этой функции. Версия на GitHub имеет эту функцию.