Changeset 15502


Ignore:
Timestamp:
07/16/13 15:48:39 (12 years ago)
Author:
Mathieu Morlighem
Message:

NEW: added some features, including log colorbar

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/plot/manualcb.m

    r15211 r15502  
    1313%      - 'tick'        : specified values of tick labels
    1414%      - 'ticksep'     : spacing between ticks
     15%      - 'inverttickposition' : put ticks on the left hand side for vertical cb
    1516
    1617%check inputs
     
    5354
    5455%Prepare ticks
    55 deltaz = getfieldvalue(options,'ticksep',dtick(zmax-zmin));
    56 ztick  = getfieldvalue(options,'tick',(deltaz*ceil(zmin/deltaz)):deltaz:zmax);
    57 if (any(ztick>zmax) | any(ztick<zmin)),
    58         error('one or more specified tick values falls outside of [zmin,zmax]');
     56if ~exist(options,'log'),
     57        deltaz = getfieldvalue(options,'ticksep',dtick(zmax-zmin));
     58        ztick  = getfieldvalue(options,'tick',(deltaz*ceil(zmin/deltaz)):deltaz:zmax);
     59        if (any(ztick>zmax) | any(ztick<zmin)),
     60                error('one or more specified tick values falls outside of [zmin,zmax]');
     61        end
     62        ytick  = (ztick-zmin)/(zmax-zmin);
     63else
     64        ztick = getfieldvalue(options,'tick',round(logspace(log(zmin)/log(10),log(zmax)/log(10),8)));
     65        ytick = linspace(0,1,numel(ztick));
    5966end
    60 ytick  = (ztick-zmin)/(zmax-zmin);
    6167
    6268%Display colorbar
     
    7379if strcmpi(getfieldvalue(options,'orientation','vertical'),'vertical'),
    7480        %Use FOR LOOP otherwise numbers are not correcly centered
    75         for i=1:length(ytick), text(1.5,ytick(i),num2str(ztick(i)),'HorizontalAlignment','left','VerticalAlignment','middle','FontSize',fontsize); end
     81        if getfieldvalue(options,'inverttickposition',0)==1,
     82                for i=1:length(ytick), text(-0.5,ytick(i),num2str(ztick(i)),'HorizontalAlignment','right','VerticalAlignment','middle','FontSize',fontsize); end
     83        else
     84                for i=1:length(ytick), text(1.5,ytick(i),num2str(ztick(i)),'HorizontalAlignment','left','VerticalAlignment','middle','FontSize',fontsize); end
     85        end
    7686        if smallbars,
    7787                for i=1:numel(ztick)
     
    92102
    93103if exist(options,'title'),
     104        title(getfieldvalue(options,'title'),'FontSize',fontsize);
     105end
     106if exist(options,'ylabel'),
    94107        if strcmpi(getfieldvalue(options,'orientation','vertical'),'horizontal'),
    95108                th=title(getfieldvalue(options,'title'),'FontSize',fontsize);
    96109                set(th,'Position',[ytick(end)+0.075,-0.3]);
    97110        else
    98                 title(getfieldvalue(options,'title'),'FontSize',fontsize);
     111                ylabel(getfieldvalue(options,'ylabel'),'FontSize',fontsize);
    99112        end
    100 end
    101 if exist(options,'ylabel'),
    102         ylabel(getfieldvalue(options,'ylabel'),'FontSize',fontsize);
    103113end
    104114       
    105115%Back to original axes
    106 if strcmpi(getfieldvalue(options,'showregion',0),0)
     116if getfieldvalue(options,'showregion',0)==0,
    107117        axes(mainaxes);
    108118end
Note: See TracChangeset for help on using the changeset viewer.