You can change the plot margins so that the top and bottom margins take up less vertical space. Run par("mar") to see the default margins, which are c(5.1,4.1,4.1,2.1) in order c(bottom, left, top, right) (run ?par and scroll down to mar to see the help for this). Reduce the bottom and/or top margins as needed. For example:
# Fake data
set.seed(3)
disk = rnorm(100, 0, 100)
halo = rnorm(100, 0, 100)
inter = rnorm(100, 0, 100)
# Original margins
par(mfrow=c(3,1))
hist(disk,xlim=c(-300,250))
hist(inter,xlim=c(-300,250))
hist(halo,xlim=c(-300,250))
# Save default margins while setting new margins
old.par = par(mar = c(3, 4, 1, 2))
hist(disk,xlim=c(-300,250))
hist(inter,xlim=c(-300,250))
hist(halo,xlim=c(-300,250))
# Reset to default margins
par(old.par)