Matlab 分别控制图例标记的大小和图例标签的字体大小

Matlab 分别控制图例标记的大小和图例标签的字体大小,matlab,plot,Matlab,Plot,我需要分别控制图例中的标记和图例标签的字体大小。受前面问题的启发,我在Matlab2016a中使用了以下代码: x = 1:10; plot(x, 1*x, 'o') hold on plot(x, 2*x, 's') h_legend = legend({'one','two'}); objhl = findobj(h_legend, 'type', 'line'); % objects of legend of type patch set(objhl, 'Markersize', 99);

我需要分别控制图例中的标记和图例标签的字体大小。受前面问题的启发,我在Matlab2016a中使用了以下代码:

x = 1:10;
plot(x, 1*x, 'o')
hold on
plot(x, 2*x, 's')
h_legend = legend({'one','two'});
objhl = findobj(h_legend, 'type', 'line'); % objects of legend of type patch
set(objhl, 'Markersize', 99); % set marker size as desired
然而,无论我输入什么来代替99,都并没有区别。如果我把“线”改成“补丁”,那也没什么区别。我想问题在于objhl实际上是空的:

>> objhl = findobj(h_legend, 'type', 'patch')
objhl = 
  0x0 empty GraphicsPlaceholder array.

有什么想法吗?非常感谢

好的,那么差异似乎是由结果是分配给“图例”输出的第一个变量还是第二个变量造成的。如果第5行被替换为

[~, h_legend] = legend({'one','two'});
那么结果就是预期的结果