从下图可以看出以下两个问题:
- 图例字体大小不一致:虽然图例 1 和图例 2 都设置为字体大小 6,但它们似乎以不同的大小显示。
- 图例标记过大:调整 legend2.ItemTokenSize 对图例中的标记大小影响不大,标记仍然显得太大。
如何解决上述问题?如能提供帮助,我将不胜感激。非常感谢!
这是的代码legend1
:
legend1=legend(legend_entries, ...
'FontName', 'Times New Roman', 'FontSize', 6,...
'Location', 'NorthEastoutside',...
'Box', 'on', 'NumColumns', 1 );
set(legend1, 'Position', [0.84, 0.41, 0.1, 0.2]);
legend1.ItemTokenSize = [10, 10];
legend('AutoUpdate', 'off');
这是的代码legend2
:
if nargin > 1 && ~isempty(set_legend2)
new_ax = axes('Position', get(gca, 'Position'),...
'Units', get(gca, 'Units'), 'Visible', 'off');
legend2=legend(new_ax,set_legend2,plot_info.leg,...
'FontName', 'Times New Roman', 'FontSize', 6, ...
'Location', 'northwest', ...
'Box', 'off', 'NumColumns', 2 );
set(legend2, 'Position', [0.55, 0.75, 0.1, 0.1]);
% 调整图例大小和位置
legend2.ItemTokenSize = [10, 10];
end
我认为字体大小实际上并没有不同,我认为这只是因为
legend1
所有大写字母的条目看起来更大。它们都使用字体大小 6。如果我将图像的片段剪在一起,看起来两者之间的实际字符高度相同,我认为您的 (1) 不是问题。对于标记大小,您可以通过设置
MarkerSize
图例中的线条对象的属性来独立控制它:legend
@Ramashalanka 在评论中指出,一段时间以来,人们一直建议不要使用多输出语法(尽管 MathWorks 似乎已经放弃了 22b 中的警告测试),这里有一种获取lines
句柄然后以相同方式更改标记的替代方法: