This only adds grobs into the table - it doesn't affect the table in any way. In the gtable model, grobs always fill up the complete table cell. If you want custom justification you might need to

gtable_add_grob(x, grobs, t, l, b = t, r = l, z = Inf, clip = "on",
  name = x$name)

Arguments

x

a gtable() object

grobs

a single grob or a list of grobs

t

a numeric vector giving the top extent of the grobs

l

a numeric vector giving the left extent of the grobs

b

a numeric vector giving the bottom extent of the grobs

r

a numeric vector giving the right extent of the grobs

z

a numeric vector giving the order in which the grobs should be plotted. Use Inf (the default) to plot above or -Inf below all existing grobs. By default positions are on the integers, giving plenty of room to insert new grobs between existing grobs.

clip

should drawing be clipped to the specified cells ("on"), the entire table ("inherit"), or not at all ("off")

name

name of the grob - used to modify the grob name before it's plotted.