No BSD License  

Highlights from
axshift

4.5

4.5 | 2 ratings Rate this file 7 Downloads (last 30 days) File Size: 30.58 KB File ID: #23680
image thumbnail

axshift

by paul koch

 

13 Apr 2009

axshift() -funtion to manually resize and rescale subplots/axis within a figure

| Watch this File

File Information
Description

  rationale:
  a] resize of subplots/axes manully in a wysiwyg fashion
  b] multiple subplots with different sizes,
  c] overlapping supplots (transparent or not), graphical overlay
  d] create a layout with subplot locations for other figures/data
 
  usage:
  1] plot figure with subplots
  2] type 'axshift'
  3] an icon appears in the toolbar
  4] if this icon is selected (colored)
      -selected axes/subplots of the figure can be moved
  5] via contextmenu (right mouse click in the figure,but not within a subplot)
      the following functions are available
     - BG-original: backgroundcolor of each subplot set to orig. color
     - BG-none: transparent background
     - position-original: original positions of the subplots
     - position-last one: previous positions
     - positions to workspace: parse new positions of all subplots to the workspace. This might
       be usefull for creating template layout for other data, The order of positions equals the order of the
       originally plotted subplots
 
      - resize all: resize all subplots by means of the mouse wheel (backwards: larger; forward: smaller)
        note: a size of 100% refers to the size when the 'resize all'-function is executed.
      - resize indiv: if selected an axes, drag the corner-and midpoints of the subplot to resize the axes
      - shift axes: selected axes/subplots of the figure can be moved
 
   6] additionally there are 3 shortkeys for fast switching between
     shifting and rescaling functions
      (press key if the figure is active)
      [a]: activate the 'resize all' function
      [d]: activate the 'resize indiv' function
      [s]: activate the 'shift axes' function
 
 example: you can use this example to play around
  figure('color',[1 1 1]);
  for i=1:9;
      subplot(4,3,i)
      plot(1:40, rand(40,1),'color',[rand(1) rand(1) rand(1)],'linewidth',2);
      title(num2str([i]),'fontweight','bold');
  end
  subplot(4,3,i+1);image,axis tight;colorbar;
  subplot(4,3,i+2);image,axis tight;colorbar
  subplot(4,3,i+3);image,axis tight;
  axshift;
 

MATLAB release MATLAB 7.4 (R2007a)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (3)
12 Jun 2009 Matthew  
15 Aug 2011 Sam  
15 Aug 2011 Sam

Very handy, but a few things:
1) if the axes ij instead of xy the resizing goes a little confusing - check for "if isequal(get(gca,'YDir'),'reverse')"
2) black is not always the most visible colour for the resizing boxes to click and drag; black boxes with a 1px thick white border would be visible on any back ground
3) I occasionally get the following:
uitools.uimodemanager.uimodemanager>localModeWarn at 66
  In uitools.uimodemanager.uimodemanager>@(obj,evd)(localModeWarn(obj,evd,hThis)) at 47
  In axshift>iconON at 134
4) it seems to be possible to run the script several times simultaneously.

Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
gui paul koch 14 Apr 2009 10:52:13
image processing paul koch 14 Apr 2009 10:52:13
gui nuri adrien 19 Apr 2010 11:45:56
image processing Joseph Boomer 21 Sep 2010 18:17:19
gui Joseph Boomer 21 Sep 2010 18:17:22
gui Sam 16 Aug 2011 05:08:36

Contact us at files@mathworks.com