www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/@mbcgraph/@XYScatter/pSetLabels.m

    function pSetLabels(obj)
%PSETLABELS Private label setting actions
%
%  PSETLABELS(OBJ) sets up the labels on the data in obj.

%  Copyright 2000-2010 The MathWorks, Inc. and Ford Global Technologies, Inc.


lh = obj.LabelHandles.info;
lbls = obj.LabelData;
if obj.LabelStyle==0
    % Use specified label strings
    if isempty(lbls)
        delete(lh);
        obj.LabelHandles.info = [];
    else
        if length(obj.XData)==length(obj.YData) && length(obj.XData)==length(lbls)
            tol = [0 0];
            ax = obj.hAxes;
            axlim = get(ax, 'XLim');
            tol(1) = (axlim(2)-axlim(1))./250;
            axlim = get(ax, 'YLim');
            tol(2) = (axlim(2)-axlim(1))./250;
            lh = mbctagdata([obj.XData(:), obj.YData(:)], ...
                lbls(:), ax, lh, obj.LabelClipping, 'pointoverlap', tol);
            obj.LabelHandles.info = lh;
        else
            delete(lh);
            obj.LabelHandles.info = [];
        end
    end
elseif obj.LabelStyle==1
    % Mark the points that are overlapping
    tol = [0 0];
    ax = obj.hAxes;
    axlim = get(ax, 'XLim');
    tol(1) = (axlim(2)-axlim(1))./200;
    axlim = get(ax, 'YLim');
    tol(2) = (axlim(2)-axlim(1))./200;
    lh = mbccountedtagdata([obj.XData(:), obj.YData(:)], ...
        ax, lh, obj.LabelClipping, tol);
    obj.LabelHandles.info = lh;
end