If the colorscale in the axes is logarithmic, you can't set the lower axis limit of the colorbar to 0. You could try, and it wouldn't produce an error, but it would produce a warning and the lower limit still would not be zero. The log of 0 is -inf and a colorbar must be finite.
You could create a tick value at the very bottom of the colorbar and you could change its tick label to 0 but it's inaccurate. The actual lower tick value may be very small (ie, 10^-9) but it's not zero and depending on your colorbar range, that could be misleading.
It's better just to let the lower tick value be some small positive number that actually represents the lower limit of the colorbar.
My recommendation is to merely add the lower tick value using,
cb = colorbar(axes1);
cb.Ticks = unique([cb.Limits(1), P_min, P_max]);
The result would be a colorbar with tick labels that aren't in exponent format.
If you absolutely must use a tick label of 0 at the very bottom of the colorbar, use this line below. However, this could result in a very misleading representation. If you use this, set the cb.Limits(1) value to some very small number.
Note that your colorbar will still be in log scale!