grd_kw = dict(left=0.1, right=0.9, bottom=0.15, top=0.9)
cax_rect = (0.1, 0.07, 0.8, 0.02)  # left, bottom, width, height
nrows, ncols = 3, 2

fig, ax = plt.subplots(nrows, ncols, figsize=(8,6), gridspec_kw=grd_kw)

vmin, vmax = -1, 1
i = 0
for row in range(nrows):
    for col in range(ncols):
         i += 1
         z = np.sin(x*i) * y
         ax[row,col].scatter(x, y, c=z, cmap=plt.cm.jet, vmin=vmin, vmax=vmax)

cax = fig.add_axes(cax_rect)
norm = mpl.colors.Normalize(vmin=vmin, vmax=vmax)
mappable = mpl.cm.ScalarMappable(cmap=plt.cm.jet, norm=norm)
fig.colorbar(mappable, cax=cax, orientation='horizontal')