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
只是想知道,如何更改代码,使颜色条的标题沿着它的长度显示,而不是横跨它的顶部。我的颜色条是垂直的,位于等高线图的右侧。我可以在它上面放一个标签,但我不能把它放在它的长度上。还有谁知道如何在 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