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.

 采纳的回答

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 个评论

Chris
Chris 2015-4-6
编辑:Chris 2015-4-6
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.

请先登录,再进行评论。

更多回答(0 个)

类别

产品

Community Treasure Hunt

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

Start Hunting!

Translated by