5

我正在使用如下代码。但是当我在 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

图由 R2014a

图使用 R2019a

图由 R2019a

图使用 R2019acontourf(res, 'ShowText', 'on')仅使用

图由 R2019a 使用

4

1 回答 1

4

经过一番研究,我在未记录的 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在此处输入图像描述

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

R2018a

Sardar Usama在评论中提出了另一种解决方案R2018a

%drawnow; % Important !
%set(hC.EdgePrims(:),'Visible','off');
delete(hc.EdgePrims);
于 2019-08-14T09:31:19.960 回答