You can specify where you want your data frame with viewport :
plot(NA, xlim=c(0,2), ylim=c(0,3), bty='n', xaxt='n', yaxt='n', xlab='', ylab='')
print(grid.table(df,show.rownames=F,vp=viewport(x=0.5,y=0.1)))
x and y values are relatives, x=.5,y=.1 place your data.frame in the bottom middle of your plot.