Changeset 20463


Ignore:
Timestamp:
04/07/16 14:59:55 (9 years ago)
Author:
Mathieu Morlighem
Message:

CHG: found a workaround for the incomplete colorbar

File:
1 edited

Legend:

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

    r20451 r20463  
    5050end
    5151axes('Units','normalized','Position',[xstart ystart width height],'XTickLabel','','YTickLabel','','Visible','on');
    52 xlim([-0.5 1.5]);
    53 ylim([-0.5 1.5]);
     52xlim([0 1]);
     53ylim([0 1]);
    5454
    5555%Prepare ticks
     
    6060                error('one or more specified tick values falls outside of [zmin,zmax]');
    6161        end
    62         ytick  = (ztick-zmin)/(zmax-zmin)*2-0.5;
     62        ytick  = (ztick-zmin)/(zmax-zmin);
    6363else
    6464        ztick = getfieldvalue(options,'tick',round(logspace(log(zmin)/log(10),log(zmax)/log(10),8)));
    65         ytick = linspace(-0.5,1.5,numel(ztick));
     65        ytick = linspace(0,1,numel(ztick));
    6666end
    6767
    6868%Display colorbar
    6969hold on
     70numcolors=size(cmap,1);
    7071if strcmpi(getfieldvalue(options,'orientation','vertical'),'vertical'),
    71         image_rgb = ind2rgb(repmat((1:size(cmap,1))',1,2),cmap);
     72        image_rgb = ind2rgb(repmat((1:numcolors)',1,2),cmap);
    7273else
    73         image_rgb = ind2rgb(repmat((1:size(cmap,1))',1,2)',cmap);
     74        image_rgb = ind2rgb(repmat((1:numcolors)',1,2)',cmap);
    7475end
    75 imagesc([-0.5 1.5],[-0.5 1.5],image_rgb);
    76 patch([-.5,-.5,1.5,1.5],[-0.5,1.5,1.5,-0.5],'k','FaceColor','none','Clipping','off')
    77 ytick
     76if 1,
     77        %disappears somtimes
     78        imagesc([0 1],[0 1],repmat(image_rgb,[1 10 1]));
     79else
     80        %Creates triangles when exported as pdf
     81        for i=1:numcolors,
     82                patch([0,0,1,1],[(i-1)/numcolors,i/numcolors,i/numcolors,(i-1)/numcolors],'none','FaceColor',cmap(i,:),'Clipping','off','EdgeColor','none')
     83        end
     84end
     85patch([0,0,1,1],[0,1,1,0],'k','FaceColor','none','Clipping','off')
    7886
    7987%Add ticks
     
    8189        %Use FOR LOOP otherwise numbers are not correcly centered
    8290        if getfieldvalue(options,'inverttickposition',0)==1,
    83                 for i=1:length(ytick), text(-0.8,ytick(i),num2str(ztick(i)),'HorizontalAlignment','right','VerticalAlignment','middle','FontSize',fontsize); end
     91                for i=1:length(ytick), text(-0.5,ytick(i),num2str(ztick(i)),'HorizontalAlignment','right','VerticalAlignment','middle','FontSize',fontsize); end
    8492        else
    85                 for i=1:length(ytick), text(1.8,ytick(i),num2str(ztick(i)),'HorizontalAlignment','left','VerticalAlignment','middle','FontSize',fontsize); end
     93                for i=1:length(ytick), text(1.5,ytick(i),num2str(ztick(i)),'HorizontalAlignment','left','VerticalAlignment','middle','FontSize',fontsize); end
    8694        end
    8795        if smallbars,
    8896                for i=1:numel(ztick)
    89                         patch([1.3 1.5],  [ytick(i) ytick(i)],'k')
    90                         patch([-0.5 -0.3],[ytick(i) ytick(i)],'k')
     97                        patch([0.8 1.0],[ytick(i) ytick(i)],'k')
     98                        patch([0.0 0.2],[ytick(i) ytick(i)],'k')
    9199                end
    92100        end
     
    96104        if smallbars,
    97105                for i=1:numel(ztick)
    98                         patch([ytick(i) ytick(i)],[1.3 1.5],[ytick(i) ytick(i)],'k')
    99                         patch([ytick(i) ytick(i)],[-0.5 -0.3],[ytick(i) ytick(i)],'k')
     106                        patch([ytick(i) ytick(i)],[0.8 1.0],[ytick(i) ytick(i)],'k')
     107                        patch([ytick(i) ytick(i)],[0.0 0.2],[ytick(i) ytick(i)],'k')
    100108                end
    101109        end
Note: See TracChangeset for help on using the changeset viewer.