fill legend rectangles with color

hello,
I'd like to fill the legend rectangles in color (not just the frame as in the picture), how it can be done?
thanks!

2 Comments

What kind of graphic object are those for? Were you using rectangle() ? Or bar() ?
histograms (I'm ploting multiple signals from a detector)

Sign in to comment.

 Accepted Answer

Try this example
surf(peaks,'facecolor','none') % plot peaks
surface(membrane,'facecolor','none') % plot membrane
h = legend('surf','memb'); % show legend
h1 = get(h,'children'); % get handle of each object in legend
for i = 1:length(h1) % loop through each object
if strcmp(get(h1(i),'type'),'patch')% if an object is a patch
cc = get(h1(i),'edgecolor'); % get edgecolor
set(h1(i),'facecolor',cc) % set facecolor
end
end

3 Comments

wierd, I can see in your picture it is filled, but when I'm running it, it is hollow
Maybe you have newer version and there some some difference in handlers
Try to experiment with these
great,will do!
thanks again!

Sign in to comment.

More Answers (0)

Asked:

on 27 May 2020

Commented:

on 28 May 2020

Community Treasure Hunt

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

Start Hunting!