• matlab函数tight_subplot控制图像的边界(margin),subplot的间距(gap)


    tight_subplot实现比matlab自带的subplot更紧凑的子图绘制。

    function [ha, pos] = tight_subplot(Nh, Nw, gap, marg_h, marg_w)
    % tight_subplot creates "subplot" axes with adjustable gaps and margins
    %
    % [ha, pos] = tight_subplot(Nh, Nw, gap, marg_h, marg_w)
    % ha 是坐标轴句柄,pos是每个坐标轴的原点与长宽
    % Nh,Nw 可以认为是几行几列
    % gap是子图的纵向和横向间距,gap(1)为纵向,gap(2)为横向
    % marg_h是图件与上下边缘的距离,marg_h(1)为距下边缘的距离,marg_h(2)是距上边缘的距离
    % marg_w 是图件与左右边缘的距离,marg_w(1)为距左边缘的距离,marg_w(2)是距右边缘的距离。
    
    %   in:  Nh      number of axes in hight (vertical direction)
    %        Nw      number of axes in width (horizontaldirection)
    %        gap     gaps between the axes in normalized units (0...1)
    %                   or [gap_h gap_w] for different gaps in height and width 
    %        marg_h  margins in height in normalized units (0...1)
    %                   or [lower upper] for different lower and upper margins 
    %        marg_w  margins in width in normalized units (0...1)
    %                   or [left right] for different left and right margins 
    %
    %  out:  ha     array of handles of the axes objects
    %                   starting from upper left corner, going row-wise as in
    %                   subplot
    %        pos    positions of the axes objects
    %
    %  Example: ha = tight_subplot(3,2,[.01 .03],[.1 .01],[.01 .01])
    %           for ii = 1:6; axes(ha(ii)); plot(randn(10,ii)); end
    %           set(ha(1:4),'XTickLabel',''); set(ha,'YTickLabel','')
    % Pekka Kumpulainen 21.5.2012   @tut.fi
    % Tampere University of Technology / Automation Science and Engineering
    if nargin<3; gap = .02; end
    if nargin<4 || isempty(marg_h); marg_h = .05; end
    if nargin<5; marg_w = .05; end
    if numel(gap)==1 
        gap = [gap gap];
    end
    if numel(marg_w)==1 
        marg_w = [marg_w marg_w];
    end
    if numel(marg_h)==1 
        marg_h = [marg_h marg_h];
    end
    axh = (1-sum(marg_h)-(Nh-1)*gap(1))/Nh; 
    axw = (1-sum(marg_w)-(Nw-1)*gap(2))/Nw;
    py = 1-marg_h(2)-axh; 
    % ha = zeros(Nh*Nw,1);
    ii = 0;
    for ih = 1:Nh
        px = marg_w(1);
        
        for ix = 1:Nw
            ii = ii+1;
            ha(ii) = axes('Units','normalized', ...
                'Position',[px py axw axh], ...
                'XTickLabel','', ...
                'YTickLabel','');
            px = px+axw+gap(2);
        end
        py = py-axh-gap(1);
    end
    if nargout > 1
        pos = get(ha,'Position');
    end
    ha = ha(:);
    

      

     https://blog.csdn.net/irober/article/details/107447574

     

    快去成为你想要的样子!
  • 相关阅读:
    ASCII码对照表
    createPopup 超链接
    说说回车键触发表单提交的问题
    linux下配java环境的小结
    spring bind checkbox 传递值问题
    用Common validator为springMVC做验证时遇到的一个问题小记
    [转载]对android LinearLayout中layout_weight属性使用初探
    linux下tomcat启动正常,但用http://22.22.33.33:8080却访问不了,防火墙的设置问题
    Java 遍历Map时 删除元素
    ftp用户登录时不能进自己的目录,被拒绝登录的解决方法
  • 原文地址:https://www.cnblogs.com/jiangkejie/p/15191933.html
Copyright © 2020-2023  润新知