Matlab,颜色条标签

Jer*_*rry 1 matlab plot label colorbar

只是想知道,如何更改代码,以使颜色栏的标题沿其长度出现而不是在其顶部出现。我的颜色栏是垂直的,位于轮廓图的右侧。我可以在它上面放一个标签,但是我不能在它的长度上放一个。还没有人知道如何在matlab中编写上标。我正在尝试写U',但是当我使用“'”时,命令行关闭。问候,耶


Ben*_*_11 5

您可以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)
Run Code Online (Sandbox Code Playgroud)

结果是:

在此处输入图片说明

如果希望将其旋转180度,则可以获取ylabel的位置并对其进行一些修改,然后将其翻转180度。即添加这些行:

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

基本上,您将获得当前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
Run Code Online (Sandbox Code Playgroud)