You can try something like this. I use
geom_point with shape = 0 to model a rectanglegeom_rect to create a rectangle centered around the points.
here is my data (it would be better to provide some data)
d=data.frame(x=seq(1,10), y=seq(1,10), width=rep(c(0.1,0.5),each =5), height=rep(c(0.8,0.9,0.4,0.6,0.7),each =2)) ggplot(data = d) + geom_rect(aes(xmax = x + width, xmin = x-width, ymax = y+height, ymin = y - height), color = "black", fill = NA) + geom_point(mapping=aes(x=x, y=y,size=height/width), color='red',shape=0)+ theme_bw()

source share