从下图可以看出以下两个问题:
如何解决以上问题?如果您能提供帮助,我将不胜感激。 非常感谢!
这是
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
的条目全部为大写字母,看起来更大?如果我将图像的一些部分剪切在一起,看起来两者之间的实际字符高度是相同的,我认为你的(1)不是问题。
对于标记大小,您可以通过设置图例中线条对象的
MarkerSize
属性来独立控制它:
% Create a plot
figure(1); clf; hold on;
plot( 1:N, cos((1:N)*2/N), '-x' );
plot( 1:N, rand(1,N), '-o' );
plot( 1:N, sin((1:N)*2/N), '-d' );
% Create the legend, use the 2nd output to get the graphics objects
[leg,obj] = legend( {'cos','rand','sin'} );
% Find the line objects and change their marker properties
lines = findobj(obj,'type','line');
set(lines,'Markersize',15);