其实这样的colorbar可以直接手动画出来,不多说,直接上代码
cmap = [69 117 180
116 173 203
171 217 233
254 224 144
253 174 77
244 109 67
215 48 39
165 0 38]/255;
%画图的部分代码
figure
ax = axes('Position',pos); % pos需要自己设置位置
colormap(ax,cmap);
xmin = -15; xmax = 25;
caxis([xmin xmax]);
% % % 绘制带尖角的colorbar
% x y
% 宽度 高度
% 尖角的长度
% 尖角的拐点
x = 0.2; y = 0.05; w = 0.6; h = 0.03;
pos = [x y w h]; % x y 宽度 高度
ax1 = axes('Position',pos);
[c,~] = size(cmap);
cdata = 2:c-1;
imagesc(cdata);
colormap(cmap(2:end-1,:));
box off
ax0 = axes('Position',get(gca,'Position'),'XAxisLocation','top','YAxisLocation','left',...
'Color','none','XColor','k','YColor','k'); % 将坐标轴的位置换一下,换成上面和右面
set(ax1,'YTick', []);
set(ax0,'YTick', []);
set(ax0,'XTick', []);
box on
set(ax1,'XTick