comparison scripts/plot/legend.m @ 12404:6001e10ce152 release-3-4-x

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 581f65bcc1a4
children 735e43b75e45
comparison
equal deleted inserted replaced
12403:581f65bcc1a4 12404:6001e10ce152
551 endif 551 endif
552 switch (position) 552 switch (position)
553 case "north" 553 case "north"
554 if (outside) 554 if (outside)
555 lpos = [ca_pos(1) + (ca_pos(3) - lpos(3)) / 2, ... 555 lpos = [ca_pos(1) + (ca_pos(3) - lpos(3)) / 2, ...
556 ca_outpos(2) + ca_outpos(4) - lpos(4), lpos(3), lpos(4)]; 556 ca_outpos(2) + ca_outpos(4) - lpos(4) - ypad, lpos(3), ...
557 lpos(4)];
557 558
558 new_pos = [ca_pos(1), ca_pos(2), ca_pos(3), ca_pos(4) - lpos(4)]; 559 new_pos = [ca_pos(1), ca_pos(2), ca_pos(3), ca_pos(4) - lpos(4)];
559 new_outpos = [ca_outpos(1), ca_outpos(2), ca_outpos(3), ... 560 new_outpos = [ca_outpos(1), ca_outpos(2), ca_outpos(3), ...
560 ca_outpos(4) - lpos(4)]; 561 ca_outpos(4) - lpos(4)];
561 else 562 else
562 lpos = [ca_pos(1) + (ca_pos(3) - lpos(3)) / 2, ... 563 lpos = [ca_pos(1) + (ca_pos(3) - lpos(3)) / 2, ...
563 ca_pos(2) + ca_pos(4) - lpos(4) - ypad, lpos(3), lpos(4)]; 564 ca_pos(2) + ca_pos(4) - lpos(4) - ypad, lpos(3), lpos(4)];
564 endif 565 endif
565 case "south" 566 case "south"
566 if (outside) 567 if (outside)
567 lpos = [ca_pos(1) + (ca_pos(3) - lpos(3)) / 2, ca_outpos(2), ... 568 lpos = [ca_pos(1) + (ca_pos(3) - lpos(3)) / 2, ...
568 lpos(3), lpos(4)]; 569 ca_outpos(2) + ypad, lpos(3), lpos(4)];
569 new_pos = [ca_pos(1), ca_pos(2) + lpos(4), ca_pos(3), ... 570 new_pos = [ca_pos(1), ca_pos(2) + lpos(4), ca_pos(3), ...
570 ca_pos(4) - lpos(4)]; 571 ca_pos(4) - lpos(4)];
571 new_outpos = [ca_outpos(1), ca_outpos(2) + lpos(4), ... 572 new_outpos = [ca_outpos(1), ca_outpos(2) + lpos(4), ...
572 ca_outpos(3), ca_outpos(4) - lpos(4)]; 573 ca_outpos(3), ca_outpos(4) - lpos(4)];
573 else 574 else
574 lpos = [ca_pos(1) + (ca_pos(3) - lpos(3)) / 2, ... 575 lpos = [ca_pos(1) + (ca_pos(3) - lpos(3)) / 2, ...
575 ca_pos(2) + ypad, lpos(3), lpos(4)]; 576 ca_pos(2) + ypad, lpos(3), lpos(4)];
576 endif 577 endif
577 case "east" 578 case "east"
578 if (outside) 579 if (outside)
579 lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3), ... 580 lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3) - ypad, ...
580 ca_pos(2) + (ca_pos(4) - lpos(4)) / 2, lpos(3), lpos(4)]; 581 ca_pos(2) + (ca_pos(4) - lpos(4)) / 2, lpos(3), lpos(4)];
581 new_pos = [ca_pos(1), ca_pos(2), ca_pos(3) - lpos(3), ca_pos(4)]; 582 new_pos = [ca_pos(1), ca_pos(2), ca_pos(3) - lpos(3), ca_pos(4)];
582 new_outpos = [ca_outpos(1), ca_outpos(2), ... 583 new_outpos = [ca_outpos(1), ca_outpos(2), ...
583 ca_outpos(3) - lpos(3), ca_outpos(4)]; 584 ca_outpos(3) - lpos(3), ca_outpos(4)];
584 else 585 else
585 lpos = [ca_pos(1) + ca_pos(3) - lpos(3) - ypad, ... 586 lpos = [ca_pos(1) + ca_pos(3) - lpos(3) - ypad, ...
586 ca_pos(2) + (ca_pos(4) - lpos(4)) / 2, lpos(3), lpos(4)]; 587 ca_pos(2) + (ca_pos(4) - lpos(4)) / 2, lpos(3), lpos(4)];
587 endif 588 endif
588 case "west" 589 case "west"
589 if (outside) 590 if (outside)
590 lpos = [ca_outpos(1), ca_pos(2) + (ca_pos(4) - lpos(4)) / 2, ... 591 lpos = [ca_outpos(1) + ypad, ...
592 ca_pos(2) + (ca_pos(4) - lpos(4)) / 2, ...
591 lpos(3), lpos(4)]; 593 lpos(3), lpos(4)];
592 new_pos = [ca_pos(1) + lpos(3), ca_pos(2), ... 594 new_pos = [ca_pos(1) + lpos(3), ca_pos(2), ...
593 ca_pos(3) - lpos(3), ca_pos(4)]; 595 ca_pos(3) - lpos(3), ca_pos(4)];
594 new_outpos = [ca_outpos(1) + lpos(3), ca_outpos(2), ... 596 new_outpos = [ca_outpos(1) + lpos(3), ca_outpos(2), ...
595 ca_outpos(3) - lpos(3), ca_outpos(4)]; 597 ca_outpos(3) - lpos(3), ca_outpos(4)];
597 lpos = [ca_pos(1) + ypad, ... 599 lpos = [ca_pos(1) + ypad, ...
598 ca_pos(2) + (ca_pos(4) - lpos(4)) / 2, lpos(3), lpos(4)]; 600 ca_pos(2) + (ca_pos(4) - lpos(4)) / 2, lpos(3), lpos(4)];
599 endif 601 endif
600 case "northeast" 602 case "northeast"
601 if (outside) 603 if (outside)
602 lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3), ... 604 lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3) - ypad, ...
603 ca_pos(2) + ca_pos(4) - lpos(4), lpos(3), lpos(4)]; 605 ca_pos(2) + ca_pos(4) - lpos(4), lpos(3), lpos(4)];
604 new_pos = [ca_pos(1), ca_pos(2), ca_pos(3) - lpos(3), ca_pos(4)]; 606 new_pos = [ca_pos(1), ca_pos(2), ca_pos(3) - lpos(3), ca_pos(4)];
605 new_outpos = [ca_outpos(1), ca_outpos(2), ... 607 new_outpos = [ca_outpos(1), ca_outpos(2), ...
606 ca_outpos(3) - lpos(3), ca_outpos(4)]; 608 ca_outpos(3) - lpos(3), ca_outpos(4)];
607 else 609 else
608 lpos = [ca_pos(1) + ca_pos(3) - lpos(3) - ypad, ... 610 lpos = [ca_pos(1) + ca_pos(3) - lpos(3) - ypad, ...
609 ca_pos(2) + ca_pos(4) - lpos(4) - ypad, lpos(3), lpos(4)]; 611 ca_pos(2) + ca_pos(4) - lpos(4) - ypad, lpos(3), lpos(4)];
610 endif 612 endif
611 case "northwest" 613 case "northwest"
612 if (outside) 614 if (outside)
613 lpos = [ca_outpos(1), ca_pos(2) + ca_pos(4) - lpos(4), ... 615 lpos = [ca_outpos(1) + ypad , ca_pos(2) + ca_pos(4) - lpos(4), ...
614 lpos(3), lpos(4)]; 616 lpos(3), lpos(4)];
615 new_pos = [ca_pos(1) + lpos(3), ca_pos(2), ... 617 new_pos = [ca_pos(1) + lpos(3), ca_pos(2), ...
616 ca_pos(3) - lpos(3), ca_pos(4)]; 618 ca_pos(3) - lpos(3), ca_pos(4)];
617 new_outpos = [ca_outpos(1) + lpos(3), ca_outpos(2), ... 619 new_outpos = [ca_outpos(1) + lpos(3), ca_outpos(2), ...
618 ca_outpos(3) - lpos(3), ca_outpos(4)]; 620 ca_outpos(3) - lpos(3), ca_outpos(4)];
620 lpos = [ca_pos(1) + ypad, ... 622 lpos = [ca_pos(1) + ypad, ...
621 ca_pos(2) + ca_pos(4) - lpos(4) - ypad, lpos(3), lpos(4)]; 623 ca_pos(2) + ca_pos(4) - lpos(4) - ypad, lpos(3), lpos(4)];
622 endif 624 endif
623 case "southeast" 625 case "southeast"
624 if (outside) 626 if (outside)
625 lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3), ca_pos(2), ... 627 lpos = [ca_outpos(1) + ca_outpos(3) - lpos(3) - ypad, ...
626 lpos(3), lpos(4)]; 628 ca_pos(2), lpos(3), lpos(4)];
627 new_pos = [ca_pos(1), ca_pos(2), ... 629 new_pos = [ca_pos(1), ca_pos(2), ...
628 ca_pos(3) - lpos(3), ca_pos(4)]; 630 ca_pos(3) - lpos(3), ca_pos(4)];
629 new_outpos = [ca_outpos(1), ca_outpos(2) + lpos(4), ... 631 new_outpos = [ca_outpos(1), ca_outpos(2), ...
630 ca_outpos(3) - lpos(3), ca_outpos(4) - lpos(4)]; 632 ca_outpos(3) - lpos(3), ca_outpos(4)];
631 else 633 else
632 lpos = [ca_pos(1) + ca_pos(3) - lpos(3) - ypad, ... 634 lpos = [ca_pos(1) + ca_pos(3) - lpos(3) - ypad, ...
633 ca_pos(2) + ypad, lpos(3), lpos(4)]; 635 ca_pos(2) + ypad, lpos(3), lpos(4)];
634 endif 636 endif
635 case "southwest" 637 case "southwest"
636 if (outside) 638 if (outside)
637 lpos = [ca_outpos(1), ca_pos(2), lpos(3), lpos(4)]; 639 lpos = [ca_outpos(1) + ypad, ca_pos(2), lpos(3), lpos(4)];
638 new_pos = [ca_pos(1) + lpos(3), ca_pos(2), ... 640 new_pos = [ca_pos(1) + lpos(3), ca_pos(2), ...
639 ca_pos(3) - lpos(3), ca_pos(4)]; 641 ca_pos(3) - lpos(3), ca_pos(4)];
640 new_outpos = [ca_outpos(1) + lpos(3), ca_outpos(2) + lpos(4), ... 642 new_outpos = [ca_outpos(1) + lpos(3), ca_outpos(2), ...
641 ca_outpos(3) - lpos(3), ca_outpos(4) - lpos(4)]; 643 ca_outpos(3) - lpos(3), ca_outpos(4)];
642 else 644 else
643 lpos = [ca_pos(1) + ypad, ca_pos(2) + ypad, lpos(3), lpos(4)]; 645 lpos = [ca_pos(1) + ypad, ca_pos(2) + ypad, lpos(3), lpos(4)];
644 endif 646 endif
645 endswitch 647 endswitch
646 648