How to set legend marker size

362 views (last 30 days)
RuiQi
RuiQi on 16 Jul 2017
Commented: Arnoud Jochemsen on 15 Feb 2022
How do I change the marker size on the legend ? I can change the font size but not marker.
l = legend('Orientation', 'Horizontal', 'RNN (Ours)', 'SLIC', 'SEEDS', 'LSC', 'ERS', 'FH');
l.FontSize = 20;
%l.MarkerSize = 20; does not work
%l.markersize = 20; does not work
set(l,'Position', [0.4 0 0.2 0.2], 'Units', 'normalized');
%set(l,'MarkerSize', 20); does not work

Answers (3)

Carl Witthoft
Carl Witthoft on 11 Apr 2019
Best way: see Stackoverflow question 2871747
% thanks to , Luis Mendo and Lea
[~, objh] = legend({'one plot', 'another plot'}, 'location', 'NorthWest', 'Fontsize', 14);
%// set font size as desired
% note that even if you plot(x,y,'.') it's a "line" plot
objhl = findobj(objh, 'type', 'line'); %// objects of legend of type line
set(objhl, 'Markersize', 12); %// set marker size as desired
% or for Patch plots
objhl = findobj(objh, 'type', 'patch'); % objects of legend of type patch
set(objhl, 'Markersize', 12); % set marker size as desired
  11 Comments
Walter Roberson
Walter Roberson on 21 Jun 2020
Are you using legend() with at least two output arguments? If you only have one output for legend then legend works differently.

Sign in to comment.


Akira Agata
Akira Agata on 16 Jul 2017
How about changing the marker size of your plot? Here is an example.
plot(magic(4),'o','MarkerSize',10);
l = legend('a','b','c','d');
  1 Comment
Arnoud Jochemsen
Arnoud Jochemsen on 15 Feb 2022
Note that this only works up to a certain size. When using 15 instead of 10, the legend markers are clearly smaller than the plot markers.
plot(magic(4),'o','MarkerSize',15);
l = legend('a','b','c','d');

Sign in to comment.


Walter Roberson
Walter Roberson on 16 Jul 2017
  2 Comments
Walter Roberson
Walter Roberson on 11 Jul 2018
Did you experiment with Kelly's legendflex() ?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!