Mercurial > hg > octave-lyh
diff scripts/plot/legend.m @ 12396:6ba430a75553
Fix for legends with location southeastoutside and soutwestoutside. Pad legend position
author | David Bateman <dbateman@free.fr> |
---|---|
date | Sun, 06 Feb 2011 23:25:31 +0100 |
parents | 4d30b4136a3e |
children | 735e43b75e45 |
line wrap: on
line diff
--- a/scripts/plot/legend.m +++ b/scripts/plot/legend.m @@ -553,7 +553,8 @@ case "north" if (outside) lpos = [ca_pos(1) + (ca_pos(3) - lpos(3)) / 2, ... - ca_outpos(2) + ca_outpos(4) - lpos(4), lpos(3), lpos(4)]; + ca_outpos(2) + ca_outpos(4) - lpos(4) - ypad, lpos(3), ... + lpos(4)]; new_pos = [ca_pos(1), ca_pos(2), ca_pos(3), ca_pos(4) - lpos(4)]; new_outpos = [ca_outpos(1), ca_outpos(2), ca_outpos(3), ... @@ -564,8 +565,8 @@ endif case "south" if (outside) - lpos = [ca_pos(1) + (ca_pos(3) - lpos(3)) / 2, ca_outpos(2), ... - lpos(3), lpos(4)]; + lpos = [ca_pos(1) + (ca_pos(3) - lpos(3)) / 2, ... + ca_outpos(2) + ypad, lpos(3), lpos(4)]; new_pos = [ca_pos(1), ca_pos(2) + lpos(4), ca_pos(3), ... ca_pos(4) - lpos(4)]; new_outpos = [ca_outpos(1), ca_outpos(2) + lpos(4), ... @@ -576,7 +577,7 @@ endif case "east" if (outside) - lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3), ... + lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3) - ypad, ... ca_pos(2) + (ca_pos(4) - lpos(4)) / 2, 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), ... @@ -587,7 +588,8 @@ endif case "west" if (outside) - lpos = [ca_outpos(1), ca_pos(2) + (ca_pos(4) - lpos(4)) / 2, ... + lpos = [ca_outpos(1) + ypad, ... + ca_pos(2) + (ca_pos(4) - lpos(4)) / 2, ... lpos(3), lpos(4)]; new_pos = [ca_pos(1) + lpos(3), ca_pos(2), ... ca_pos(3) - lpos(3), ca_pos(4)]; @@ -599,7 +601,7 @@ endif case "northeast" if (outside) - lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3), ... + lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3) - ypad, ... 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), ... @@ -610,7 +612,7 @@ endif case "northwest" if (outside) - lpos = [ca_outpos(1), ca_pos(2) + ca_pos(4) - lpos(4), ... + lpos = [ca_outpos(1) + ypad , 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)]; @@ -622,23 +624,23 @@ endif case "southeast" if (outside) - lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3), ca_pos(2), ... - lpos(3), lpos(4)]; + lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3) - ypad, ... + ca_pos(2), 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) + lpos(4), ... - ca_outpos(3) - lpos(3), ca_outpos(4) - lpos(4)]; + new_outpos = [ca_outpos(1), ca_outpos(2), ... + ca_outpos(3) - lpos(3), ca_outpos(4)]; else lpos = [ca_pos(1) + ca_pos(3) - lpos(3) - ypad, ... ca_pos(2) + ypad, lpos(3), lpos(4)]; endif case "southwest" if (outside) - lpos = [ca_outpos(1), ca_pos(2), lpos(3), lpos(4)]; + lpos = [ca_outpos(1) + ypad, 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)]; + new_outpos = [ca_outpos(1) + lpos(3), ca_outpos(2), ... + ca_outpos(3) - lpos(3), ca_outpos(4)]; else lpos = [ca_pos(1) + ypad, ca_pos(2) + ypad, lpos(3), lpos(4)]; endif