Matlab Colorbar:在科学记数法中,乘数10 ^ -3与第一个值重叠。如何移动它?

时间:2015-02-13 20:22:45

标签: matlab colorbar

我有一个Matlab图,其中乘数(在我的情况下为10 ^ -3)与第一个值重叠。我该怎么移动它? My colorbar

1 个答案:

答案 0 :(得分:1)

这是一个有效但可能变得有点麻烦的黑客。诀窍是获取颜色条的YTickLabel,从绘图中删除它们,然后再次绘制它们,但这次添加一个表示要显示的指数的自定义文本(此处为x 10^-3)。优点是您可以完全控制此文本的位置。

以下是代码:

clear
clc

clear all; close all; clc;
A = rand(100,100)./(1e2);

figure;    
imagesc(A);

colormap jet; 
hBar= colorbar;

title('Before change','FontSize',18)

%// Get the positions of the axes and colorbar as well as the YTickLabel.
BarPos = get(hBar,'Position');
XL = get(gca,'XLim');
YTL = get(hBar,'YTickLabel');


figure;
imagesc(A);

colormap jet; 
hBar= colorbar;

%// Remove current YTickLabel
set(hBar,'YTickLabel','');

%// Text to add. Note the syntax to print a superscript.
NewText = 'x 10 ^{-3}';

%// Restore YTickLabel. This time the x 10^-3 does not appear.
set(hBar,'YTickLabel',YTL);

%// Add the text
text(XL(2)+15,-5,NewText)

title('After change','FontSize',18)

输出:

enter image description here

希望有所帮助!