Changeset 7398 for issm/trunk


Ignore:
Timestamp:
02/09/11 11:41:28 (14 years ago)
Author:
jschierm
Message:

Plot updates made for LIMS project.

Location:
issm/trunk/src/m/qmu/plot
Files:
2 added
13 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/qmu/plot/plot_boxplot.m

    r4763 r7398  
    106106while (iarg <= nargin-1)
    107107    if ischar(varargin{iarg})
    108         eval([varargin{iarg} '=varargin{iarg+1};']);
    109         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     108        if ~isempty(strmatch(varargin{iarg},...
     109                {'ymin','ymax'},...
     110                'exact'))
     111            eval([varargin{iarg} '=varargin{iarg+1};']);
     112            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     113        else
     114            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     115        end
    110116    else
    111117        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
  • issm/trunk/src/m/qmu/plot/plot_hist_norm.m

    r5419 r7398  
    4444%    ymin2         (numeric, minimum of cdf y-axis)
    4545%    ymax2         (numeric, maximum of cdf y-axis)
     46%    nrmplt        (char, 'line' or 'off' to change nrm plots from 'bar')
    4647%    cdfplt        (char, 'off' to turn off cdf line plots)
    4748%    cdfleg        (char, 'off' to turn off cdf legends)
     49%    cmap          (char or numeric, colormap definition)
    4850%
    4951%  for each response in the input array, this function
     
    164166    end
    165167    iarg=iarg+1;
     168else
     169    mu   =mean(sampr);
     170    display('Using calculated means.')
     171    sigma=std(sampr);
     172    display('Using calculated standard deviations.')
    166173end
    167174
     
    170177while (iarg <= nargin-1)
    171178    if ischar(varargin{iarg})
    172         eval([varargin{iarg} '=varargin{iarg+1};']);
    173         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     179        if ~isempty(strmatch(varargin{iarg},...
     180                {'hmin','hmax','hnint',...
     181                 'ymin1','ymax1','ymin2','ymax2',...
     182                 'nrmplt','cdfplt','nrmleg','cmap'},...
     183                'exact'))
     184            eval([varargin{iarg} '=varargin{iarg+1};']);
     185            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     186        else
     187            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     188        end
    174189    else
    175190        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
     
    206221end
    207222
     223ncol=size(sampr,2);
    208224if exist('mu','var') && exist('sigma','var')
    209     ncol=size(sampr,2);
    210225    for i=1:ncol
    211         dbelow(ncol+i)=normcdf(edges(  1),mu(i),sigma(i));
    212         dhistc(1:size(dhistc,1)-1,ncol+i)=...
     226        dbelow(end+1)=normcdf(edges(  1),mu(i),sigma(i));
     227        dhistc(1:size(dhistc,1)-1,end+1)=...
    213228            normcdf(edges(2:end  ),mu(i),sigma(i))-...
    214229            normcdf(edges(1:end-1),mu(i),sigma(i));
    215         dabove(ncol+i)=norminv(edges(end),mu(i),sigma(i));
     230        dabove(end+1)=norminv(edges(end),mu(i),sigma(i));
    216231        if exist('descr','var')
    217             descr(ncol+i)={[descr{i} ' norm']};
     232            descr(end+1)={[descr{i} ' norm']};
    218233        end
    219234    end
     
    222237%  draw the bar plot
    223238
    224 %figure
    225 hl1=bar(edges(1:end-1),dhistc(1:end-1,:));
     239figure
     240if ~exist('nrmplt','var')
     241    nrmplt='bar';
     242end
     243
     244hold all
     245% hl1=bar(edges(1:end-1),dhistc(1:end-1,1:2*ncol));
     246% hl1=line(edges(1:end-1),dhistc(1:end-1,1:2*ncol));
     247if     strncmpi(nrmplt,'b',1)
     248    hl1=bar (edges(1:end-1),dhistc(1:end-1,1:2*ncol));
     249elseif strncmpi(nrmplt,'l',1)
     250    hl1=bar (edges(1:end-1),dhistc(1:end-1,1:1*ncol));
     251    hl1(1*ncol+1:2*ncol)=...
     252        line(edges(1:end-1),dhistc(1:end-1,1*ncol+1:2*ncol),...
     253             'LineWidth',2);
     254elseif strncmpi(nrmplt,'off',3)
     255    hl1=bar (edges(1:end-1),dhistc(1:end-1,1:1*ncol));
     256end
    226257ax1=gca;
     258hold off
    227259
    228260%  set barseries properties for clarity
    229261
    230 if (length(hl1) > 1)
     262if (ncol > 1) || strncmpi(nrmplt,'b',1)
    231263    for i=1:length(hl1)
    232         set(hl1(i),'BarWidth',1,'EdgeColor','none');
    233     end
    234 end
    235 
     264        if strcmpi(get(hl1(i),'Type'),'hggroup')
     265            set(hl1(i),'BarWidth',1,'EdgeColor','none');
     266        end
     267    end
     268end
     269
     270%  set bars and lines to have a continuous colormap
     271%  (if barseries is "flat", must interpolate and round to colormap)
     272
     273if exist('cmap','var')
     274    colormap(cmap)
     275end
     276
     277cmap=colormap;
     278for i=1:length(hl1)
     279    if (length(hl1) > 1)
     280        imap=round((i-1)/(length(hl1)-1)*(size(cmap,1)-1))+1;
     281    else
     282        imap=1;
     283    end
     284    if     strcmpi(get(hl1(i),'Type'),'hggroup')
     285        if ischar(get(hl1(i),'FaceColor')) && ...
     286           strcmpi(get(hl1(i),'FaceColor'),'flat')
     287            set(hl1(i),'FaceColor',cmap(imap,:))
     288        else
     289            set(hl1(i),'FaceColor',get(hl1(i),'FaceColor'))
     290        end
     291    elseif strcmpi(get(hl1(i),'Type'),'line')
     292        set(hl1(i),'Color',cmap(imap,:))
     293    end
     294end
     295   
    236296xlim('auto')
    237297[xlims]=xlim;
     
    256316%  add the annotation
    257317
    258 if exist('cdfplt','var') && strcmpi(cdfplt,'off')
     318if exist('cdfplt','var') && ...
     319   (strncmpi(cdfplt,'off',3) || strncmpi(cdfplt,'n',1))
    259320    title('Relative Frequency Histogram')
    260321else
     
    265326
    266327if exist('descr','var')
    267     hleg1=legend(ax1,descr,'Location','NorthWest',...
     328    hleg1=legend(ax1,descr(1:length(hl1)),'Location','NorthWest',...
    268329                 'Color','none','Interpreter','none');
    269330else
     
    273334%%  generate the cumulative distribution functions
    274335
    275 if ~exist('cdfplt','var') || ~strcmpi(cdfplt,'off')
     336if ~exist('cdfplt','var') || ...
     337   (~strncmpi(cdfplt,'off',3) && ~strncmpi(cdfplt,'n',1))
    276338%     cdf=zeros(size(dhistc));
    277339%     cdf(1,:)=dhistc(1,:);
     
    325387             'XAxisLocation','bottom','YAxisLocation','right',...
    326388             'Color','none','Layer','top');
    327     hl2=line(edges(1:end-1),cdf(1:end-1,:),'Parent',ax2);
    328 
    329 %  set line property colors to match barseries property
     389    hl2=line(edges(1:end-1),cdf(1:end-1,1:length(hl1)),'Parent',ax2);
     390
     391%  set line property colors to match barseries or line property
    330392%  (if barseries is "flat", must interpolate and round to colormap)
    331393
    332394    cmap=colormap;
    333395    for i=1:length(hl2)
    334         if ischar(get(hl1(i),'FaceColor')) && ...
    335            strcmpi(get(hl1(i),'FaceColor'),'flat')
    336             if (length(hl2) > 1)
    337                 imap=round((i-1)/(length(hl2)-1)*(size(cmap,1)-1))+1;
     396        if (length(hl2) > 1)
     397            imap=round((i-1)/(length(hl2)-1)*(size(cmap,1)-1))+1;
     398        else
     399            imap=1;
     400        end
     401        if     strcmpi(get(hl1(i),'Type'),'hggroup')
     402            if ischar(get(hl1(i),'FaceColor')) && ...
     403               strcmpi(get(hl1(i),'FaceColor'),'flat')
     404                set(hl2(i),'Color',cmap(imap,:))
    338405            else
    339                 imap=1;
     406                set(hl2(i),'Color',get(hl1(i),'FaceColor'))
    340407            end
    341             set(hl2(i),'Color',cmap(imap,:))
    342         else
    343             set(hl2(i),'Color',get(hl1(i),'FaceColor'))
     408        elseif strcmpi(get(hl1(i),'Type'),'line')
     409            set(hl2(i),'Color',get(hl1(i),'Color'))
    344410        end
    345411    end
     
    349415    ylabel('Cumulative Percent');
    350416
    351     if ~exist('cdfleg','var') || ~strcmpi(cdfleg,'off')
     417    if ~exist('cdfleg','var') || ...
     418       (~strncmpi(cdfleg,'off',3) || ~strncmpi(cdfleg,'n',1))
    352419% legend doesn't combine with bar chart above
    353420        if exist('cdescr','var')
    354             hleg2=legend(ax2,cdescr,'Location','NorthEast',...
     421            hleg2=legend(ax2,cdescr(1:length(hl2)),'Location','NorthEast',...
    355422                         'Color','none','Interpreter','none');
    356423%             set(hleg2,'Color','white')
  • issm/trunk/src/m/qmu/plot/plot_hist_norm_ci.m

    r4763 r7398  
    144144while (iarg <= nargin-1)
    145145    if ischar(varargin{iarg})
    146         eval([varargin{iarg} '=varargin{iarg+1};']);
    147         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     146        if ~isempty(strmatch(varargin{iarg},...
     147                {'hmin','hmax','hnint',...
     148                 'ymin1','ymax1','ymin2','ymax2',...
     149                 'nrmplt','ciplt','cdfplt','cdfleg','cmap'},...
     150                'exact'))
     151            eval([varargin{iarg} '=varargin{iarg+1};']);
     152            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     153        else
     154            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     155        end
    148156    else
    149157        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
     
    180188end
    181189
     190ncol=size(sampr,2);
    182191if exist('mu','var') && exist('sigma','var')
    183     ncol=size(sampr,2);
    184192    for i=1:ncol
    185193        dbelow(end+1)=normcdf(edges(  1),mu(i),sigma(i));
     
    250258% hl1=bar(edges(1:end-1),dhistc(1:end-1,1:6*ncol));
    251259% hl1=line(edges(1:end-1),dhistc(1:end-1,1:6*ncol));
    252 if     strcmpi(nrmplt,'bar')
    253     if     strcmpi(ciplt,'bar')
     260if     strncmpi(nrmplt,'b',1)
     261    if     strncmpi(ciplt,'b',1)
    254262        hl1=bar (edges(1:end-1),dhistc(1:end-1,1:6*ncol));
    255     elseif strcmpi(ciplt,'line')
     263    elseif strncmpi(ciplt,'l',1)
    256264        hl1=bar (edges(1:end-1),dhistc(1:end-1,1:2*ncol));
    257265        hl1(2*ncol+1:6*ncol)=...
    258266            line(edges(1:end-1),dhistc(1:end-1,2*ncol+1:6*ncol),...
    259267                 'LineWidth',2);
    260     elseif strcmpi(ciplt,'off')
     268    elseif strncmpi(ciplt,'off',3) || strncmpi(ciplt,'n',1)
    261269        hl1=bar (edges(1:end-1),dhistc(1:end-1,1:2*ncol));
    262270    end
    263 elseif strcmpi(nrmplt,'line')
    264     if     strcmpi(ciplt,'bar') || strcmpi(ciplt,'line')
     271elseif strncmpi(nrmplt,'l',1)
     272    if     strncmpi(ciplt,'b',1) || strncmpi(ciplt,'l',1)
    265273        hl1=bar (edges(1:end-1),dhistc(1:end-1,1:1*ncol));
    266274        hl1(1*ncol+1:2*ncol)=...
     
    270278            line(edges(1:end-1),dhistc(1:end-1,2*ncol+1:6*ncol),...
    271279                 'LineWidth',1);
    272     elseif strcmpi(ciplt,'off')
     280    elseif strncmpi(ciplt,'off',3) || strncmpi(ciplt,'n',1)
    273281        hl1=bar (edges(1:end-1),dhistc(1:end-1,1:1*ncol));
    274282        hl1(1*ncol+1:2*ncol)=...
     
    276284                 'LineWidth',2);
    277285    end
    278 elseif strcmpi(nrmplt,'off')
     286elseif strncmpi(nrmplt,'off',3) || strncmpi(nrmplt,'n',1)
    279287    hl1=bar (edges(1:end-1),dhistc(1:end-1,1:1*ncol));
    280288end
     
    284292%  set barseries properties for clarity
    285293
    286 if (length(hl1) > 1)
     294if (ncol > 1) || strncmpi(nrmplt,'b',1)
    287295    for i=1:length(hl1)
    288296        if strcmpi(get(hl1(i),'Type'),'hggroup')
     
    340348%  add the annotation
    341349
    342 if exist('cdfplt','var') && strcmpi(cdfplt,'off')
     350if exist('cdfplt','var') && ...
     351   (strncmpi(cdfplt,'off',3) || strncmpi(cdfplt,'n',1))
    343352    title('Relative Frequency Histogram')
    344353else
     
    357366%%  generate the cumulative distribution functions
    358367
    359 if ~exist('cdfplt','var') || ~strcmpi(cdfplt,'off')
     368if ~exist('cdfplt','var') || ...
     369   (~strncmpi(cdfplt,'off',3) && ~strncmpi(cdfplt,'n',1))
    360370%     cdf=zeros(size(dhistc));
    361371%     cdf(1,:)=dhistc(1,:);
     
    437447    ylabel('Cumulative Percent');
    438448
    439     if ~exist('cdfleg','var') || ~strcmpi(cdfleg,'off')
     449    if ~exist('cdfleg','var') || ...
     450       (~strncmpi(cdfleg,'off',3) && ~strncmpi(cdfleg,'n',1))
    440451% legend doesn't combine with bar chart above
    441452        if exist('cdescr','var')
  • issm/trunk/src/m/qmu/plot/plot_if_bars.m

    r4763 r7398  
    9393while (iarg <= nargin-1)
    9494    if ischar(varargin{iarg})
    95         eval([varargin{iarg} '=varargin{iarg+1};']);
    96         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     95        if ~isempty(strmatch(varargin{iarg},...
     96                {'ymin','ymax','ifmin','isort','xtlrot'},...
     97                'exact'))
     98            eval([varargin{iarg} '=varargin{iarg+1};']);
     99            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     100        else
     101            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     102        end
    97103    else
    98104        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
  • issm/trunk/src/m/qmu/plot/plot_normdist_bars.m

    r4763 r7398  
    108108while (iarg <= nargin-1)
    109109    if ischar(varargin{iarg})
    110         eval([varargin{iarg} '=varargin{iarg+1};']);
    111         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     110        if ~isempty(strmatch(varargin{iarg},...
     111                {'prob','ymin','ymax','xtlrot','lstr'},...
     112                'exact'))
     113            eval([varargin{iarg} '=varargin{iarg+1};']);
     114            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     115        else
     116            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     117        end
    112118    else
    113119        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
  • issm/trunk/src/m/qmu/plot/plot_normplot.m

    r4763 r7398  
    106106while (iarg <= nargin-1)
    107107    if ischar(varargin{iarg})
    108         eval([varargin{iarg} '=varargin{iarg+1};']);
    109         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     108        if ~isempty(strmatch(varargin{iarg},...
     109                {'xmin','xmax'},...
     110                'exact'))
     111            eval([varargin{iarg} '=varargin{iarg+1};']);
     112            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     113        else
     114            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     115        end
    110116    else
    111117        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
  • issm/trunk/src/m/qmu/plot/plot_prob_bars.m

    r4763 r7398  
    103103while (iarg <= nargin-1)
    104104    if ischar(varargin{iarg})
    105         eval([varargin{iarg} '=varargin{iarg+1};']);
    106         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     105        if ~isempty(strmatch(varargin{iarg},...
     106                {'ymin','ymax','xtlrot','cmap','lstr'},...
     107                'exact'))
     108            eval([varargin{iarg} '=varargin{iarg+1};']);
     109            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     110        else
     111            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     112        end
    107113    else
    108114        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
  • issm/trunk/src/m/qmu/plot/plot_rlev_bars.m

    r4763 r7398  
    9595while (iarg <= nargin-1)
    9696    if ischar(varargin{iarg})
    97         eval([varargin{iarg} '=varargin{iarg+1};']);
    98         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     97        if ~isempty(strmatch(varargin{iarg},...
     98                {'ymin','ymax','xtlrot','lstr'},...
     99                'exact'))
     100            eval([varargin{iarg} '=varargin{iarg+1};']);
     101            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     102        else
     103            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     104        end
    99105    else
    100106        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
  • issm/trunk/src/m/qmu/plot/plot_rlev_bars_ci.m

    r4763 r7398  
    109109while (iarg <= nargin-1)
    110110    if ischar(varargin{iarg})
    111         eval([varargin{iarg} '=varargin{iarg+1};']);
    112         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     111        if ~isempty(strmatch(varargin{iarg},...
     112                {'ymin','ymax','xtlrot','lstr'},...
     113                'exact'))
     114            eval([varargin{iarg} '=varargin{iarg+1};']);
     115            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     116        else
     117            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     118        end
    113119    else
    114120        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
  • issm/trunk/src/m/qmu/plot/plot_rvsv_line.m

    r4763 r7398  
    163163while (iarg <= nargin-1)
    164164    if ischar(varargin{iarg})
    165         eval([varargin{iarg} '=varargin{iarg+1};']);
    166         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     165        if ~isempty(strmatch(varargin{iarg},...
     166                {'nplotr','nplotc',...
     167                 'ymin','ymax','yscat'},...
     168                'exact'))
     169            eval([varargin{iarg} '=varargin{iarg+1};']);
     170            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     171        else
     172            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     173        end
    167174    else
    168175        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
     
    210217        hplot(end+1)=plot   (sampv(indxv ,ivar),sampr(indxv ,iresp),'-x');
    211218        cdesc(end+1)={[descr{iresp} ' wrt ' descv{ivar}]};
    212         if ~exist('yscat','var') || ~strcmpi(yscat,'off')
     219        if ~exist('yscat','var') || ...
     220           (~strncmpi(yscat,'off',3) && ~strncmpi(yscat,'n',1))
    213221            hscat(end+1)=scatter(sampv(indxv2,ivar),sampr(indxv2,iresp),'+k');
    214222%  see "controlling legends" in Matlab on-line docs
  • issm/trunk/src/m/qmu/plot/plot_rvsv_scat3.m

    r4763 r7398  
    172172while (iarg <= nargin-1)
    173173    if ischar(varargin{iarg})
    174         eval([varargin{iarg} '=varargin{iarg+1};']);
    175         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     174        if ~isempty(strmatch(varargin{iarg},...
     175                {'nplotr','nplotc',...
     176                 'ymin','ymax','zmin','zmax',...
     177                 'cmin','cmax','smark'},...
     178                'exact'))
     179            eval([varargin{iarg} '=varargin{iarg+1};']);
     180            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     181        else
     182            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     183        end
    176184    else
    177185        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
  • issm/trunk/src/m/qmu/plot/plot_rvsv_surf.m

    r5457 r7398  
    169169while (iarg <= nargin-1)
    170170    if ischar(varargin{iarg})
    171         eval([varargin{iarg} '=varargin{iarg+1};']);
    172         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     171        if ~isempty(strmatch(varargin{iarg},...
     172                {'nplotr','nplotc',...
     173                 'zmin','zmax',...
     174                 'cmin','cmax'},...
     175                'exact'))
     176            eval([varargin{iarg} '=varargin{iarg+1};']);
     177            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     178        else
     179            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     180        end
    173181    else
    174182        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
  • issm/trunk/src/m/qmu/plot/plot_sampdist_bars.m

    r4763 r7398  
    107107while (iarg <= nargin-1)
    108108    if ischar(varargin{iarg})
    109         eval([varargin{iarg} '=varargin{iarg+1};']);
    110         disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     109        if ~isempty(strmatch(varargin{iarg},...
     110                {'ymin','ymax','xtlrot','lstr'},...
     111                'exact'))
     112            eval([varargin{iarg} '=varargin{iarg+1};']);
     113            disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']);
     114        else
     115            warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']);
     116        end
    111117    else
    112118        error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
Note: See TracChangeset for help on using the changeset viewer.