MATLAB: Set limit for colorbar in log 3D plot

caxiscolorbarplot3d

Dear all, I am plotting a 3D graph using a Z logaritmic axis. The surface have got a vertical asynthos (Z axis). For this reason I use Zlim([minDesidValue maxDesidValue]) to limit the Z axis. Consequently I set caxis([minDesidValue maxDesidValue]). However, considering the Z axis is logaritmic, the colorbar "draw" my surface in linear method, and so with unsatisfying results (I suppose that is caused by the linear relation between coloration and colorbar limits). In atteached you can see the figure. Best regars. Alberto Mora

Best Answer

If you are using R2014b or newer, then
cb = colorbar();
cb.Ruler.Scale = 'log';