MATLAB Answers

A problem with multiple columns in legend

조회 수: 21(최근 30일)
Creatlee
Creatlee 26 Aug 2019
답변: Fred 11 Nov 2019
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

로그인 to comment.

채택된 답변

Walter Roberson
Walter Roberson 26 Aug 2019
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

Creatlee
Creatlee 26 Aug 2019
Thanks for the answer.
By the way, is there any way to have both outputs?
Or simply there is no need to have the second output when multiple columns are considered?
Walter Roberson
Walter Roberson 26 Aug 2019
The code actively chooses backwards compatibility if there is more than one output argument. That causes the legend to be built diffrently.

로그인 to comment.

추가 답변(1개)

Fred
Fred 11 Nov 2019
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

로그인 to comment.

이 질문에 답변하려면 로그인을(를) 수행하십시오.

제품


릴리스

R2019a

Translated by