MATLAB: Is it possible to change the height or limits of bars using the bar3() command

bar3changing bar height

I'm trying to create a 3D bar plot that indicates the value of data across an array. I've been able to follow help and other answered questions to achieve a very close example of what I want:
The basic code I've used to achieve this is:
test = bar3(c,width);
for k = 1:length(test)
zdata = get(test(k),'ZData');
set(test(k),'CData',zdata);
set(test(k),'FaceColor','interp');
end
However, since the data is all greater than 0.75, I'm trying to emphasize the difference in sizes by rescaling the z-axis, however, simply changing the axis limits gives me:
I've also tried manually scaling the data in half, to achieve another similar type graph, but then my colorbar labels are incorrect:
Any hints or tips to work around this problem? A broken z-axis may work, but I'm not sure how to do that after several attempts despite searching some previous answered questions.

Best Answer

I wrote this for another Answer long, long, ago in a galaxy far, far, away, but it still works in R2016a. It may do what you want, but you’ll have to adapt it to your particular data set. Run it with the test data first:
x = 0.9 + (1-0.9).*rand(10,10);
inputs = 1:5:51;
xt = x - min(min(x));
figure
h = bar3(xt);
set(gca, 'XTickLabel',inputs);
set(gca, 'YTickLabel',inputs);
set(gca, 'XTick',1:length(inputs));
set(gca, 'XTick',1:length(inputs));
set(gca, 'YTick',1:length(inputs));
ztiks = floor(linspace(min(min(x)), max(max(x)), 6)*101)/100;
set(gca, 'ZTickLabel', ztiks');
set(gca, 'XLim', [0 length(inputs)+1]);
set(gca, 'YLim', [0 length(inputs)+1]);
% set(gca, 'ZLim', [min(min(x)) max(max(x))]);
colorbar
grid on