MATLAB R2019a中contourf函数中的“ ShowText”和“ LineStyle”是否冲突?

时间:2019-08-14 08:34:34

标签: matlab matlab-figure contourf linestyle showtext

我正在使用以下代码。但是,当我在MATLAB R2014a和R2019a(在同一台计算机上,Win7 64位)中运行代码时,数字却有所不同。在MATLAB R2019a中的函数'ShowText'中的'LineStyle'contourf之间似乎有冲突?我想要的是没有文字的图形(如R2014a的图形)。我如何在R2019a中得到它?

for i = 1 : 10
    for j = 1 : 10
        res(i, j) = i * j;
    end
end
contourf(res, 'ShowText', 'on', 'LineStyle', 'none');

使用R2014a的图形

figure by R2014a

使用R2019a的图形

figure by R2019a

仅使用contourf(res, 'ShowText', 'on')使用R2019a的图形

figure by R2019a using "contourf(res, 'ShowText', 'on') only

1 个答案:

答案 0 :(得分:4)

经过一番研究,我在undocumented MATLAB的帮助下找到了该解决方案:

for i = 1 : 10
for j = 1 : 10
res(i, j) = i * j;
end
end
[c,hC] = contourf(res);
clabel(c,hC)
drawnow; % Important !
set(hC.EdgePrims(:),'Visible','off');

R2017b中给出以下结果: enter image description here

免责声明: 此解决方案依赖于MATLAB的未记录功能,结果可能会因您的版本而异。

R2018a

Sardar Usama在评论中提出了R2018a的替代解决方案:

%drawnow; % Important !
%set(hC.EdgePrims(:),'Visible','off');
delete(hc.EdgePrims);