Matlab,颜色条标签

Matlab, colorbar label

只是想知道,如何更改代码,使颜色条的标题沿着它的长度显示,而不是横跨它的顶部。我的颜色条是垂直的,位于等高线图的右侧。我可以在它上面放一个标签,但我不能把它放在它的长度上。还有谁知道如何在 matlab 中写上标。我正在尝试编写 U',但是当我使用“'”时,命令行关闭。 问候, 哲


您可以使用 ylabel 为颜色栏指定标签。此外,为了打印上标,请使用 ^{Text here}。如果你想要下标,使用 _{Text here}.

简单示例:

clear
clc
close all

contourf(peaks)
hC = colorbar('eastoutside');

LabelText = 'Label with ^{superscript}'; %// Use superscript

ylabel(hC,LabelText,'FontSize',16)

结果:

如果要旋转180度,可以获取ylabel的位置,稍微修改一下,然后翻转180度。即添加这些行:

LabelPos = get(get(hC,'YLabel'),'Position')
set(get(hC,'YLabel'),'Position',[LabelPos(1) + 4 LabelPos(2) LabelPos(3)],'Rotation',-90)

您基本上获得了当前 ylabel 的位置并将其 x 位置移动几个像素,使其不与颜色条重叠。 这给出:

编辑: 根据您的意见,您可以通过以下方式格式化 YTick 标签:

CellLabel = str2double(cellstr(get(hC,'YTickLabel'))); %// Convert current label to numbers
StringLabel = cell(1,numel(CellLabel));
for k = 1:numel(CellLabel)

    StringLabel{k} = sprintf('%0.3f',CellLabel(k)); %// format into the format you want.
end