# HG changeset patch # User Ben Abbott # Date 1297028705 18000 # Node ID 581f65bcc1a4f2ded655a6e10efe471513fd6aad # Parent 766426578c1493e2cebc76de0360a8335747a1c3 legend.m: Align legends to plot box, add demo. Bug 32373. diff -r 766426578c14 -r 581f65bcc1a4 scripts/ChangeLog --- a/scripts/ChangeLog Sun Feb 06 15:32:38 2011 -0500 +++ b/scripts/ChangeLog Sun Feb 06 16:45:05 2011 -0500 @@ -1,5 +1,6 @@ 2011-02-06 Ben Abbott + * plot/legend.m: Align legends to plot box, add demo. Bug 32373. * plot/legend.m: "legend off" should delete the legend object. 2011-02-06 David Bateman diff -r 766426578c14 -r 581f65bcc1a4 scripts/plot/legend.m --- a/scripts/plot/legend.m Sun Feb 06 15:32:38 2011 -0500 +++ b/scripts/plot/legend.m Sun Feb 06 16:45:05 2011 -0500 @@ -600,33 +600,32 @@ case "northeast" if (outside) lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3), ... - ca_outpos(2) + ca_outpos(4) - lpos(4), lpos(3), lpos(4)]; - new_pos = [ca_pos(1), ca_pos(2), ca_pos(3) - lpos(3), ... - ca_pos(4) - lpos(4)]; + ca_pos(2) + ca_pos(4) - lpos(4), lpos(3), lpos(4)]; + new_pos = [ca_pos(1), ca_pos(2), ca_pos(3) - lpos(3), ca_pos(4)]; new_outpos = [ca_outpos(1), ca_outpos(2), ... - ca_outpos(3) - lpos(3), ca_outpos(4) - lpos(4)]; + ca_outpos(3) - lpos(3), ca_outpos(4)]; else lpos = [ca_pos(1) + ca_pos(3) - lpos(3) - ypad, ... ca_pos(2) + ca_pos(4) - lpos(4) - ypad, lpos(3), lpos(4)]; endif case "northwest" if (outside) - lpos = [ca_outpos(1), ca_outpos(2) + ca_outpos(4) - lpos(4), ... + lpos = [ca_outpos(1), ca_pos(2) + ca_pos(4) - lpos(4), ... lpos(3), lpos(4)]; new_pos = [ca_pos(1) + lpos(3), ca_pos(2), ... - ca_pos(3) - lpos(3), ca_pos(4) - lpos(4)]; + ca_pos(3) - lpos(3), ca_pos(4)]; new_outpos = [ca_outpos(1) + lpos(3), ca_outpos(2), ... - ca_outpos(3) - lpos(3), ca_outpos(4) - lpos(4)]; + ca_outpos(3) - lpos(3), ca_outpos(4)]; else lpos = [ca_pos(1) + ypad, ... ca_pos(2) + ca_pos(4) - lpos(4) - ypad, lpos(3), lpos(4)]; endif case "southeast" if (outside) - lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3), ca_outpos(2), ... + lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3), ca_pos(2), ... lpos(3), lpos(4)]; - new_pos = [ca_pos(1), ca_pos(2) + lpos(4), ... - ca_pos(3) - lpos(3), ca_pos(4) - lpos(4)]; + new_pos = [ca_pos(1), ca_pos(2), ... + ca_pos(3) - lpos(3), ca_pos(4)]; new_outpos = [ca_outpos(1), ca_outpos(2) + lpos(4), ... ca_outpos(3) - lpos(3), ca_outpos(4) - lpos(4)]; else @@ -635,9 +634,9 @@ endif case "southwest" if (outside) - lpos = [ca_outpos(1), ca_outpos(2), 0, lpos(3), lpos(4)]; - new_pos = [ca_pos(1) +lpos(3), ca_pos(2) + lpos(4), ... - ca_pos(3) - lpos(3), ca_pos(4) - lpos(4)]; + lpos = [ca_outpos(1), ca_pos(2), lpos(3), lpos(4)]; + new_pos = [ca_pos(1) + lpos(3), ca_pos(2), ... + ca_pos(3) - lpos(3), ca_pos(4)]; new_outpos = [ca_outpos(1) + lpos(3), ca_outpos(2) + lpos(4), ... ca_outpos(3) - lpos(3), ca_outpos(4) - lpos(4)]; else @@ -1110,3 +1109,23 @@ %! legend off %! axis ([0, 10, 0 1]) +%!demo +%! clf +%! x = 0:4; +%! subplot (2, 2, 1) +%! plot (x, rand (numel (x))); +%! legend (cellstr (num2str ((1:10)')), "location", "northwestoutside") +%! legend boxon +%! subplot (2, 2, 2) +%! plot (x, rand (numel (x))); +%! legend (cellstr (num2str ((1:10)')), "location", "northeastoutside") +%! legend boxon +%! subplot (2, 2, 3); +%! plot (x, rand (numel (x))); +%! legend (cellstr (num2str ((1:10)')), "location", "southwestoutside") +%! legend boxon +%! subplot (2, 2, 4) +%! plot (x, rand (numel (x))); +%! legend (cellstr (num2str ((1:10)')), "location", "southeastoutside") +%! legend boxon +