matlab的colorbar取对数

原来要代表颜色的数bai据取以10为底的对数:log10()

然后用下面语句标注:
colorbar('YTick',[-6,-5,-4,-3,-2,-1,-0],...
'YTickLabel',{'1E-6','1E-5','1E-4','1E-3',...
'1E-2','1E-1','1E0'});

实际上,数据取了对数之后标注的位置是 -6~0
只是用'YTickLabel',让其在对应位置显示需要的文本

[N,Xedges,Yedges] = histcounts2(entropy(:,1),entropy(:,2),[50,50]);
max1=max(entropy(:,1))
max2=max(entropy(:,2))
min1=min(entropy(:,1))
min2=min(entropy(:,2))

%N=fliplr(N);
figure(1);
N1=flipud(rot90(N));       %N逆时针旋转90度为想要的矩阵,上下翻转主要是保证后面纵坐标正向
%N2=N1./max(max(N));       %归一化


%% ------对于数据分布很不均匀的,可以用log()
logN1=log10(N1);         
logN1(isinf(logN1))=0;    %搜索为Inf的数据

imagesc([min1,max1],[min2,max2],log10(N1));
%imagesc([min1,max1],[min2,max2],N1,[0,1000]);
set(gca,'YDir','normal');        %由于imagesc纵坐标轴默认为反向,所以需要改为正方向
h=colorbar;
set(h,'YTick',[1,2,3,4]','YTicklabel',{'10^1','10^2','10^3','10^4'})   %实现colorbar的对数显示
xlabel('△S_{traj}','Fontweight','bold','FontSize',20);
ylabel('-△S_{syst}','Fontweight','bold','FontSize',20);
set(gca,'FontSize',20,'Fontweight','bold');   %调节坐标轴字体大小粗细
annotation('textbox',[0.7 0.01 0.1 0.1],'Linestyle','-','String','△t=0.05s')

 

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值