function [k,x_mm,y_mm]=s_plot(x,y,xy,style)
%Рисует выделенный фрагмент текущего графика
%
%Вызов:  [k,x_mm,y_mm]=s_plot(X,Y,[xy],[style]);
%
%       X,Y - исходные вектора, дл? которых построен график;
%        xy - текстова? константа, определ?юща? необходимые пределы:
%             'xx' - учитываютс? пределы только по X (по умолчанию);
%             'yy' - учитываютс? пределы только по Y;
%             'xy' - учитываютс? пределы по X и по Y;
%     style - стиль линий дл? PLOT;
%
%         k - вектор индексов дл? выделенного фрагмента;
% x_mm,y_mm - пределы дл? выделенного фрагмента (матрицы 2*2).

%
if nargin<3
   xy='xx';
   style='-';
elseif nargin<4
   if length(xy)~=2
% | sum(xy=='xx'|xy=='yy'|xy=='xy')~=2
      style=xy;
      xy='xx';
   else
      style='-';
   end
end
% ............ input 2 point from current plot
[x0,y0]=ginput(2);
x_mm(1)=min(x0); x_mm(2)=max(x0);
y_mm(1)=min(y0); y_mm(2)=max(y0);
%
if xy=='xx'
   k = x_mm(1)<=x & x<=x_mm(2);
elseif xy=='xy'
   k = (x_mm(1)<=x & x<=x_mm(2)) & (y_mm(1)<=y & y<=y_mm(2));
else
   k = y_mm(1)<=y & y<=y_mm(2);
end
%
plot(x(k),y(k),style)
%pause
