A problem with multiple columns in legend
5 次查看(过去 30 天)
显示 更早的评论
Hi all,
I just made the following lines, simply I cannot make a multiple column legend.
If anyone knows how to deal with this, i would be very thankful!
Thanks in advance.
figure
bar(randn(4))
[xx,yy] = legend({'a','b','c','d'}, 'box','off','NumColumns', 4)
0 个评论
采纳的回答
Walter Roberson
2019-8-26
You cannot get multiple legend columns when you request the output of the legend icons.
[xx] = legend({'a','b','c','d'}, 'box','off','NumColumns', 4)
2 个评论
Walter Roberson
2019-8-26
The code actively chooses backwards compatibility if there is more than one output argument. That causes the legend to be built diffrently.
更多回答(1 个)
Fred
2019-11-11
But I need to increase the size of my MarkerSizes in my legend AND use two columns. Is there any way to do this?
%MWE of legend column and icon modification problem
close all, clearvars
x = 1:5; y = x.^2; %some data
figure
hold on
h = [scatter(x,5*x,200,'blue','filled','s'); ...
scatter(x,y,200,'red','filled','d')];
lgd = legend(h,{'Line','Quadratic'},'Location','Northwest');
lgd.NumColumns = 2; %want 2 columns for legend
figure
hold on
h = [scatter(x,5*x,200,'blue','filled','s'); ...
scatter(x,y,200,'red','filled','d')];
[lgd,icons] = legend(h,{'Line','Quadratic'},'Location','Northwest');
icons(3).Children.MarkerSize = 20; %want bigger MarkerSize for legend
icons(4).Children.MarkerSize = 20;
figure
hold on
h = [scatter(x,5*x,200,'blue','filled','s'); ...
scatter(x,y,200,'red','filled','d')];
[lgd,icons] = legend(h,{'Line','Quadratic'},'Location','Northwest');
icons(3).Children.MarkerSize = 20; %want bigger MarkerSize for legend
icons(4).Children.MarkerSize = 20;
lgd.NumColumns = 2; %want 2 columns for legend
% But I cannot have both. In fact, using [lgd,icons] makes 2 columns
% impossible
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Legend 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!