只是想知道,你如何改变代码,以便颜色条的标题沿着它的长度而不是在它的顶部出现。我的颜色栏是垂直的,位于我的等高线图的右侧。我可以把一个标签放在它上面,但我无法放下它的长度。也有人知道如何在matlab中写上标。我正在尝试编写U'但是当我使用“'”命令行关闭时。 问候, 耶
答案 0 :(得分:4)
您可以使用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