⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colorbar.c

📁 ASUFIT-Matlab-全局拟合程序
💻 C
📖 第 1 页 / 共 4 页
字号:
              &ans,
              mlfNSet(
                0,
                h,
                mxCreateString("units"),
                mxCreateString("normalized"),
                NULL));
            /*
             * pos = get(h,'Position'); 
             */
            mlfAssign(&pos, mlfGet(h, mxCreateString("Position"), NULL));
            /*
             * [az,el] = view;
             */
            mlfAssign(&az, mlfNView(2, &el, NULL, NULL));
            /*
             * stripe = 0.075; edge = 0.02; 
             */
            mlfAssign(&stripe, mlfScalar(0.075));
            mlfAssign(&edge, mlfScalar(0.02));
            /*
             * if all([az,el]==[0 90]), space = 0.05; else space = .1; end
             */
            if (mlfTobool(
                  mlfAll(
                    mlfEq(
                      mlfHorzcat(az, el, NULL),
                      mlfDoubleMatrix(1, 2, __Array0_r, NULL)),
                    NULL))) {
                mlfAssign(&space, mlfScalar(0.05));
            } else {
                mlfAssign(&space, mlfScalar(.1));
            }
            /*
             * set(h,'Position',[pos(1) pos(2) pos(3)*(1-stripe-edge-space) pos(4)])
             */
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                h,
                mxCreateString("Position"),
                mlfHorzcat(
                  mlfIndexRef(pos, "(?)", mlfScalar(1.0)),
                  mlfIndexRef(pos, "(?)", mlfScalar(2.0)),
                  mlfMtimes(
                    mlfIndexRef(pos, "(?)", mlfScalar(3.0)),
                    mlfMinus(
                      mlfMinus(mlfMinus(mlfScalar(1.0), stripe), edge), space)),
                  mlfIndexRef(pos, "(?)", mlfScalar(4.0)),
                  NULL),
                NULL));
            /*
             * rect = [pos(1)+(1-stripe-edge)*pos(3) pos(2) stripe*pos(3) pos(4)];
             */
            mlfAssign(
              &rect,
              mlfHorzcat(
                mlfPlus(
                  mlfIndexRef(pos, "(?)", mlfScalar(1.0)),
                  mlfMtimes(
                    mlfMinus(mlfMinus(mlfScalar(1.0), stripe), edge),
                    mlfIndexRef(pos, "(?)", mlfScalar(3.0)))),
                mlfIndexRef(pos, "(?)", mlfScalar(2.0)),
                mlfMtimes(stripe, mlfIndexRef(pos, "(?)", mlfScalar(3.0))),
                mlfIndexRef(pos, "(?)", mlfScalar(4.0)),
                NULL));
            /*
             * ud.origPos = pos;
             */
            mlfIndexAssign(&ud, ".origPos", pos);
            /*
             * 
             * % Create axes for stripe and
             * % create DeleteProxy object (an invisible text object in
             * % the target axes) so that the colorbar will be deleted
             * % properly.
             * ud.DeleteProxy = text('parent',h,'visible','off',...
             */
            mlfIndexAssign(
              &ud,
              ".DeleteProxy",
              mlfNText(
                1,
                mxCreateString("parent"),
                h,
                mxCreateString("visible"),
                mxCreateString("off"),
                mxCreateString("tag"),
                mxCreateString("ColorbarDeleteProxy"),
                mxCreateString("handlevisibility"),
                mxCreateString("off"),
                mxCreateString("deletefcn"),
                mxCreateString("eval('delete(get(gcbo,''userdata''))','')"),
                NULL));
            /*
             * 'tag','ColorbarDeleteProxy',...
             * 'handlevisibility','off',...
             * 'deletefcn','eval(''delete(get(gcbo,''''userdata''''))'','''')');
             * ax = axes('Position', rect);
             */
            mlfAssign(&ax, mlfNAxes(1, mxCreateString("Position"), rect, NULL));
            /*
             * setappdata(ax,'NonDataObject',[]); % For DATACHILDREN.M
             */
            mlfSetappdata(
              ax, mxCreateString("NonDataObject"), mclCreateEmptyArray(), NULL);
            /*
             * set(ud.DeleteProxy,'userdata',ax)
             */
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                mlfIndexRef(ud, ".DeleteProxy"),
                mxCreateString("userdata"),
                ax,
                NULL));
            /*
             * set(h,'units',units)
             */
            mclPrintAns(
              &ans, mlfNSet(0, h, mxCreateString("units"), units, NULL));
        /*
         * else
         */
        } else {
            /*
             * axes(ax);
             */
            mclAssignAns(&ans, mlfNAxes(0, ax, NULL));
            /*
             * ud = get(ax,'userdata');
             */
            mlfAssign(&ud, mlfGet(ax, mxCreateString("userdata"), NULL));
        /*
         * end
         */
        }
        /*
         * 
         * % Create color stripe
         * n = size(colormap,1);
         */
        mlfAssign(
          &n, mlfSize(mclValueVarargout(), mlfColormap(NULL), mlfScalar(1.0)));
        /*
         * image([0 1],t,(1:n)','Tag','TMW_COLORBAR','deletefcn','colorbar(''delete'')'); set(ax,'Ydir','normal')
         */
        mclAssignAns(
          &ans,
          mlfNImage(
            0,
            mlfDoubleMatrix(1, 2, __Array1_r, NULL),
            t,
            mlfCtranspose(mlfColon(mlfScalar(1.0), n, NULL)),
            mxCreateString("Tag"),
            mxCreateString("TMW_COLORBAR"),
            mxCreateString("deletefcn"),
            mxCreateString("colorbar('delete')"),
            NULL));
        mclPrintAns(
          &ans,
          mlfNSet(
            0, ax, mxCreateString("Ydir"), mxCreateString("normal"), NULL));
        /*
         * set(ax,'YAxisLocation','right')
         */
        mclPrintAns(
          &ans,
          mlfNSet(
            0,
            ax,
            mxCreateString("YAxisLocation"),
            mxCreateString("right"),
            NULL));
        /*
         * set(ax,'xtick',[])
         */
        mclPrintAns(
          &ans,
          mlfNSet(0, ax, mxCreateString("xtick"), mclCreateEmptyArray(), NULL));
        /*
         * 
         * % set up axes deletefcn
         * set(ax,'tag','Colorbar','deletefcn','colorbar(''delete'')')
         */
        mclPrintAns(
          &ans,
          mlfNSet(
            0,
            ax,
            mxCreateString("tag"),
            mxCreateString("Colorbar"),
            mxCreateString("deletefcn"),
            mxCreateString("colorbar('delete')"),
            NULL));
    /*
     * 
     * elseif loc(1)=='h', % Append horizontal scale to top of current plot
     */
    } else if (mlfTobool(
                 mlfEq(
                   mlfIndexRef(loc, "(?)", mlfScalar(1.0)),
                   mxCreateString("h")))) {
        /*
         * 
         * if isempty(ax),
         */
        if (mlfTobool(mlfIsempty(ax))) {
            /*
             * units = get(h,'units'); set(h,'units','normalized')
             */
            mlfAssign(&units, mlfGet(h, mxCreateString("units"), NULL));
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                h,
                mxCreateString("units"),
                mxCreateString("normalized"),
                NULL));
            /*
             * pos = get(h,'Position');
             */
            mlfAssign(&pos, mlfGet(h, mxCreateString("Position"), NULL));
            /*
             * stripe = 0.075; space = 0.1;
             */
            mlfAssign(&stripe, mlfScalar(0.075));
            mlfAssign(&space, mlfScalar(0.1));
            /*
             * set(h,'Position',...
             */
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                h,
                mxCreateString("Position"),
                mlfHorzcat(
                  mlfIndexRef(pos, "(?)", mlfScalar(1.0)),
                  mlfPlus(
                    mlfIndexRef(pos, "(?)", mlfScalar(2.0)),
                    mlfMtimes(
                      mlfPlus(stripe, space),
                      mlfIndexRef(pos, "(?)", mlfScalar(4.0)))),
                  mlfIndexRef(pos, "(?)", mlfScalar(3.0)),
                  mlfMtimes(
                    mlfMinus(mlfMinus(mlfScalar(1.0), stripe), space),
                    mlfIndexRef(pos, "(?)", mlfScalar(4.0))),
                  NULL),
                NULL));
            /*
             * [pos(1) pos(2)+(stripe+space)*pos(4) pos(3) (1-stripe-space)*pos(4)])
             * rect = [pos(1) pos(2) pos(3) stripe*pos(4)];
             */
            mlfAssign(
              &rect,
              mlfHorzcat(
                mlfIndexRef(pos, "(?)", mlfScalar(1.0)),
                mlfIndexRef(pos, "(?)", mlfScalar(2.0)),
                mlfIndexRef(pos, "(?)", mlfScalar(3.0)),
                mlfMtimes(stripe, mlfIndexRef(pos, "(?)", mlfScalar(4.0))),
                NULL));
            /*
             * ud.origPos = pos;
             */
            mlfIndexAssign(&ud, ".origPos", pos);
            /*
             * 
             * % Create axes for stripe and
             * % create DeleteProxy object (an invisible text object in
             * % the target axes) so that the colorbar will be deleted
             * % properly.
             * ud.DeleteProxy = text('parent',h,'visible','off',...
             */
            mlfIndexAssign(
              &ud,
              ".DeleteProxy",
              mlfNText(
                1,
                mxCreateString("parent"),
                h,
                mxCreateString("visible"),
                mxCreateString("off"),
                mxCreateString("tag"),
                mxCreateString("ColorbarDeleteProxy"),
                mxCreateString("handlevisibility"),
                mxCreateString("off"),
                mxCreateString("deletefcn"),
                mxCreateString("eval('delete(get(gcbo,''userdata''))','')"),
                NULL));
            /*
             * 'tag','ColorbarDeleteProxy',...
             * 'handlevisibility','off',...
             * 'deletefcn','eval(''delete(get(gcbo,''''userdata''''))'','''')');
             * ax = axes('Position', rect);
             */
            mlfAssign(&ax, mlfNAxes(1, mxCreateString("Position"), rect, NULL));
            /*
             * setappdata(ax,'NonDataObject',[]); % For DATACHILDREN.M
             */
            mlfSetappdata(
              ax, mxCreateString("NonDataObject"), mclCreateEmptyArray(), NULL);
            /*
             * set(ud.DeleteProxy,'userdata',ax)
             */
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                mlfIndexRef(ud, ".DeleteProxy"),
                mxCreateString("userdata"),
                ax,
                NULL));
            /*
             * set(h,'units',units)
             */
            mclPrintAns(
              &ans, mlfNSet(0, h, mxCreateString("units"), units, NULL));
        /*
         * else
         */
        } else {
            /*
             * axes(ax);
             */
            mclAssignAns(&ans, mlfNAxes(0, ax, NULL));
            /*
             * ud = get(ax,'userdata');
             */
            mlfAssign(&ud, mlfGet(ax, mxCreateString("userdata"), NULL));
        /*
         * end
         */
        }
        /*
         * 
         * % Create color stripe
         * n = size(colormap,1);
         */
        mlfAssign(
          &n, mlfSize(mclValueVarargout(), mlfColormap(NULL), mlfScalar(1.0)));
        /*
         * image(t,[0 1],(1:n),'Tag','TMW_COLORBAR','deletefcn','colorbar(''delete'')'); set(ax,'Ydir','normal')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -