plot legends with custom symbols

I am doing something like
>> XX = 0; YY = 0;
>> h1 = plot( XX, YY, ['.y'] ); hold on
>> set(h1, 'markersize', 30);
>> h2 = plot( XX, YY, ['.r'] );
This gives a very nice red dot on yellow background that I want to use as a special symbol, but is there a way to make these red on yellow dots appear as such in the legend box? Can you 'merge' handles, I know you can do >> legend([h1,h2],'foo','foo2'); but that gives two legend entries where I want the red/yellow dot treated as a combine unit as you see them in the plot.

 Accepted Answer

It might be easier to just play around with marker size/line width combos to get the same effect without duplicating the plotted data:
h = plot(0,0, ...
'marker', 'o', ...
'markerfacecolor', 'r', ...
'markeredgecolor', 'y', ...
'linewidth', 2);
legend(h);

1 Comment

Chris
Chris on 6 Apr 2015
Edited: Chris on 6 Apr 2015
Very good alternative, thanks!
hh = plot(0,0,'oy'); set(hh, 'MarkerFaceColor','r'); set(hh, 'markersize', 7.5); set(hh, 'linewidth', 3); legend(hh, 'foo');
looks real good to me.

Sign in to comment.

More Answers (0)

Products

Asked:

on 6 Apr 2015

Edited:

on 6 Apr 2015

Community Treasure Hunt

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

Start Hunting!