Edit: Since this seems to be a popular post, here\'s the solution that seems to be working well for me. Thanks @gazzar and @mfra.
cbar.solid
Since none of the other suggestions worked for me I ended up removing the alpha channel from the colorbar instance:
from matplotlib.colors import to_rgb
lut = colorbar.solids.get_facecolor()
bg_color = to_rgb('white')
lut[:, :3] *= lut[:, 3:]
lut[:, :3] += (1 - lut[:, 3:]) * bg_color
lut[:, 3] = 1.
colorbar.solids.set_facecolor(lut)
The colorbar had to be drawn once before being able to access the face colors.