MATLAB R2019a 不会显示原始线图例

MATLAB R2019a won't show legend of primitive lines

我最近更换了新版本的 Matlab (R2019),当我尝试在图表上添加图例时出现以下错误:

''输入必须大小相同,或者其中一个可以是标量。''

我正在使用的代码(在以前的 Matlab 版本中运行良好)是这样的:

 x=rand(1,10);
y=rand(1,10);
zfTail=10;

figure(15); clf; hold on; box on

ph_f = plot(2.*x, 2*y, 'ro-.','LineWidth',2,'Color',[0 0.75 0]);
ph_fb = plot(x, y, 'ro-.','LineWidth',.3,'Color',[0.5 0.75 0]);
ph_ft = plot(3.*x, 3.*y, 'ro-.','LineWidth',1,'Color',[0 0.75 0.5]);

legend([ ph_f, ph_fb, ph_ft], 'Location', 'SouthWest',...
           {'Escape time distribution',...
            ['Power-law fit, z = ' num2str(-zfTail,2)],...
           'Initial distribution'
            
           },'FontSize',14)

这是我在 R2019 版本中得到的:

这就是我在旧版本 R2017b 上得到的

其中 ph_f、ph_fb、ph_ft 是原始的 1X1 行 有人可以帮我吗?我找不到解决方案。

参数 {'Escape time distribution', ['Power-law fit, z = ' num2str(-zfTail,2)], 'Initial distribution'} 应该插入到行对象之后。以下应该有效:

hleg = legend([ph_f, ph_fb, ph_ft], {'Escape time distribution', ['Power-law fit, z = ' num2str(-zfTail,2)], 'Initial distribution'});
hleg.FontSize = 14;
hleg.Location = 'southwest';

我不确定为什么不能在 R2019a 的同一行中包含 legendFontSizeLocation 属性。