Hi, found myself the first answer of how to adapt the mathworks solution:
mydata=rand(3,2);
bar_h=bar(mydata,'stack');
mycolor=[0 0 0;0 0 1;1 0 0];
colormap(mycolor)
bar_child=cell2mat(get(bar_h,'Children'));
for i=1:size(bar_child,1)
set(bar_child(i),'CData',mydata(:,i));
set(bar_child(i),'CDataMapping','direct');
end
for i=1:size(bar_child,1)
for iCount=1:size(mydata,1)
if (mydata(iCount,i)<.2)
index(iCount,i)=1;
elseif(mydata(iCount,i)>=.6)
index(iCount,i)=3;
else
index(iCount,i)=2;
end
end
set(bar_child(i), 'CData',index(:,i)');
end

