我有一个等高线图,我在Matlab中沿着等高线添加了标签。标签周围有一个白色的盒子,我想关掉它。所有matlab教程都显示了他们的结果而不是背景,当我检查'注释的背景规范时它回来时没有'没有。任何想法将不胜感激!我尝试了一些可以在我的脚本中查看的内容:
[latlim2, lonlim2] = meshgrid(latlims,lonlims);
figure
axesm('mercator', 'MapLatLim', latlim, 'MapLonLim', lonlim,...
'Frame', 'on', 'Grid', 'off', 'MeridianLabel', 'on', 'ParallelLabel', 'on')
setm(gca,'mlabelparallel',-20)
load coastlines
hold on
[f,g] = contourfm(latlim2, lonlim2, spdenso, 'LineColor', 'none');
[c,h] = contourm(latlim2, lonlim2, hgtanom1,'ShowText', 'off','LineColor', 'w', 'LineWidth', 3);
clabel(c,h)
t = annotation('ShowText')
t.BackgroundColor = 'none'
t.EdgeColor = 'none'
t.Color = 'none'
t.FaceAlpha = 0
答案 0 :(得分:1)
您应该使用 clabelm ,因为您使用的是 contourm 函数,并且需要一个text_handle,如(https://www.mathworks.com/matlabcentral/answers/91404-why-do-the-text-boxes-created-by-the-clabel-function-not-maintain-their-background-color-in-matlab-7)所述。 因此代码为:
[c,h] = contourm(latlim2, lonlim2, hgtanom1);
text_handle = clabelm(c,h);
set(text_handle,'BackgroundColor', 'none', 'Fontsize',8);