我有一个Matlab图,其中乘数(在我的情况下为10 ^ -3)与第一个值重叠。我该怎么移动它?
答案 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)
输出:
希望有所帮助!