📄 createdata.html
字号:
class=sets.I(i);
<br><span class=comment>%% isigma=inv(sigma);
</span><br> mi=sets.MI(:,i);
<br><span class=comment>%%% [x,y]=ellipse(isigma,20,R,mi);
</span><br> [x,y]=ellips(mi,inv(sigma),R);
<br>
<br> <span class=keyword>if</span> h.currhandle==0,
<br> <span class=comment>% draw new ellipse
</span><br> h.currhandle =fill(x,y,XCOLORS(mod(class-1,MAXCOLOR)+1),...
<br> <span class=quotes>'EraseMode'</span>,<span class=quotes>'none'</span>,...
<br> <span class=quotes>'ButtonDownFcn'</span>,<span class=quotes>'createdata('</span><span class=quotes>'click'</span><span class=quotes>',gcf)'</span>,...
<br> <span class=quotes>'Tag'</span>,<span class=quotes>'ellipse'</span>,...
<br> <span class=quotes>'UserData'</span>,mi);
<br> <span class=graph>set</span>(hfigure,<span class=quotes>'UserData'</span>,h);
<br> <span class=keyword>else</span>
<br> <span class=graph>set</span>(h.currhandle,<span class=quotes>'XData'</span>,x,<span class=quotes>'YData'</span>,y,<span class=quotes>'EraseMode'</span>,<span class=quotes>'normal'</span>);
<br> <span class=keyword>end</span>
<br> <span class=keyword>end</span> <span class=comment>% if i ~= 0,
</span><br>
<br><span class=label>case</span> <span class=quotes>'redraw'</span>
<br> <span class=comment>% == Redraw axes ===========================================================
</span><br> hfigure=<span class=stack>varargin</span>{1};
<br> h = <span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>); <span class=comment>% get handlers
</span><br>
<br> children=<span class=graph>get</span>(h.axes1,<span class=quotes>'Children'</span> );
<br> <span class=graph>set</span>(children,<span class=quotes>'EraseMode'</span>,<span class=quotes>'normal'</span>,<span class=quotes>'Visible'</span>,<span class=quotes>'off'</span>);
<br>
<br> <span class=comment>% get sets
</span><br> sets=<span class=graph>get</span>(h.axes1,<span class=quotes>'UserData'</span>);
<br>
<br> <span class=comment>% set axes
</span><br> <span class=keyword>if</span> strcmpi(sets.id,ID_FINITE)==1,
<br> maxs=max(sets.X');
<br> mins=min(sets.X');
<br> <span class=keyword>elseif</span> strcmpi(sets.id,ID_NORMAL )==1,
<br> <span class=comment>% set axes
</span><br> maxs=max(sets.MI');
<br> mins=min(sets.MI');
<br> <span class=keyword>end</span>
<br> dx=min( (maxs(1)-mins(1)), 1 )*DX_SPACE;
<br> dy=min( (maxs(2)-mins(2)), 1 )*DY_SPACE;
<br> x1=round(mins(1)-dx);
<br> x2=round(maxs(1)+dx);
<br> y1=round(mins(2)-dy);
<br> y2=round(maxs(2)+dx);
<br> win=[x1 x2 y1 y2];
<br> <span class=graph>axes</span>(h.axes1);
<br> <span class=comment>%%% axis(win);
</span><br> setaxis(h.axes1,win);
<br>
<br> <span class=comment>% redraw points or ellipses
</span><br> <span class=keyword>if</span> strcmpi(sets.id,ID_FINITE)==1,
<br> <span class=comment>% points
</span><br> <span class=keyword>for</span> i=1:sum(sets.K),
<br> <span class=graph>line</span>(sets.X(1,i),sets.X(2,i), ...
<br> <span class=quotes>'LineStyle'</span>,<span class=quotes>'none'</span>, ...
<br> <span class=quotes>'Marker'</span>,<span class=quotes>'.'</span>, ...
<br> <span class=quotes>'Color'</span>,XCOLORS(mod(sets.I(i)-1,MAXCOLOR)+1), ...
<br> <span class=quotes>'MarkerSize'</span>,25, ...
<br> <span class=quotes>'ButtonDownFcn'</span>,<span class=quotes>'createdata('</span><span class=quotes>'click'</span><span class=quotes>',gcf)'</span>,...
<br> <span class=quotes>'EraseMode'</span>,<span class=quotes>'none'</span>,...
<br> <span class=quotes>'Tag'</span>,<span class=quotes>'point'</span>);
<br> <span class=keyword>end</span>
<br>
<br> <span class=keyword>elseif</span> strcmpi(sets.id,ID_NORMAL )==1,
<br> R=min([(win(2)-win(1)),(win(4)-win(3))])/20;
<br> <span class=comment>% ellipses
</span><br> <span class=keyword>for</span> i=1:sum(sets.K),
<br> sigma=sets.SIGMA(:,(i-1)*2+1:i*2);
<br> mi=sets.MI(:,i);
<br><span class=comment>%% [x,y]=ellipse(isigma,20,R,mi);
</span><br> [x,y]=ellips(mi,inv(sigma),R);
<br> class=sets.I(i);
<br>
<br> fill(x,y,XCOLORS(mod(class-1,MAXCOLOR)+1),...
<br> <span class=quotes>'EraseMode'</span>,<span class=quotes>'none'</span>,...
<br> <span class=quotes>'ButtonDownFcn'</span>,<span class=quotes>'createdata('</span><span class=quotes>'click'</span><span class=quotes>',gcf)'</span>,...
<br> <span class=quotes>'Tag'</span>,<span class=quotes>'ellipse'</span>,...
<br> <span class=quotes>'UserData'</span>,mi);
<br> <span class=keyword>end</span>
<br> <span class=keyword>end</span> <span class=comment>% if strcmpi(...
</span><br>
<br> <span class=comment>% set new values
</span><br> <span class=graph>set</span>(h.edxaxis,<span class=quotes>'String'</span>,<span class=io>sprintf</span>(<span class=quotes>'[%s]'</span>,num2str(win(1:2))) );
<br> <span class=graph>set</span>(h.edyaxis,<span class=quotes>'String'</span>,<span class=io>sprintf</span>(<span class=quotes>'[%s]'</span>,num2str(win(3:4))) );
<br>
<br> <span class=keyword>for</span> i=1:max(size(sets.K)),
<br> txnum=<span class=io>sprintf</span>(<span class=quotes>' %d '</span>,i);
<br> classes(i,1:size(txnum,2))=txnum;
<br> <span class=keyword>end</span>
<br> <span class=graph>set</span>(h.puclass,<span class=quotes>'String'</span>,classes);
<br>
<br>
<br><span class=label>case</span> <span class=quotes>'setaxis'</span>
<br> <span class=comment>% == Set axes according to edit line X-Axis and Y-Axis ==================
</span><br>
<br> hfigure=<span class=stack>varargin</span>{1};
<br> h = <span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>); <span class=comment>% get handlers
</span><br>
<br> xaxis=str2num(<span class=graph>get</span>(h.edxaxis,<span class=quotes>'String'</span>));
<br> yaxis=str2num(<span class=graph>get</span>(h.edyaxis,<span class=quotes>'String'</span>));
<br>
<br> <span class=keyword>if</span> size(xaxis) ~= [1 2] | xaxis(2) <= xaxis(1),
<br> errordlg(<span class=quotes>'Bad X-Axis limits.'</span>,<span class=quotes>'Error'</span>,<span class=quotes>'modal'</span>);
<br> <span class=keyword>elseif</span> size(yaxis) ~= [1 2] | yaxis(2) <= yaxis(1),
<br> errordlg(<span class=quotes>'Bad Y-Axis limits.'</span>,<span class=quotes>'Error'</span>,<span class=quotes>'modal'</span>);
<br> <span class=keyword>else</span>
<br> setaxis(h.axes1,[xaxis yaxis]);
<br><span class=comment>%%% axis([xaxis yaxis]);
</span><br> <span class=keyword>end</span>
<br>
<br>
<br>
<br><span class=label>case</span> <span class=quotes>'click'</span>
<br> <span class=comment>% == Mouse click handler =================================================
</span><br>
<br> <span class=comment>% get handlers
</span><br> hfigure=<span class=stack>varargin</span>{1};
<br> h=<span class=graph>get</span>(hfigure,<span class=quotes>'Userdata'</span>);
<br>
<br> <span class=comment>% get current pointer position
</span><br> pointer=<span class=graph>get</span>(h.axes1,<span class=quotes>'CurrentPoint'</span>);
<br>
<br> <span class=comment>% get data sets structure
</span><br> sets=<span class=graph>get</span>(h.axes1,<span class=quotes>'UserData'</span>);
<br>
<br> <span class=comment>% gco object invoked this function
</span><br> hobject=<span class=graph>gco</span>;
<br>
<br> clicktype = lower(<span class=graph>get</span>(hfigure,<span class=quotes>'SelectionType'</span>));
<br> <span class=keyword>switch</span> clicktype
<br>
<br> <span class=label>case</span> <span class=quotes>'normal'</span>
<br> <span class=comment>% === Left mouse button =============
</span><br> <span class=comment>% Creat new point
</span><br>
<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -