function grafica_lorenz(n, x)
%% function grafica_lorenz(n, x)
%% Graficar la curva de Lorenz de una distribucion de ingresos finita
%% n: son las frecuencias absolutas (números) de cada categoria
%% x: son las categorias de ingreso (en estricto orden ascendiente)
%%  Ricard Torres <rtorres@itam.mx>

   lx = length(x);
   if lx ~= length(n)
      error('Categorias y frecuencias deben tener la misma longitud');
   end
   if any ( n <= 0 ) || any ( x <= 0 )
      error('Categorias y frecuencias deben ser estrictamente positivos');
   end
   if any(x ~= sort(unique(x)))
      error('Categorias deben estar en orden ascendiente estricto');
   end
   [F, S] = lorenz_disc(n,x); % Curva de Lorenz
   diag = [0, 1]; % diagonal
   figure; % crear nueva figura
   plot(diag,diag,'--','Color','Green','LineWidth',1);
   hold on;
   h = plot(F,S,'-','Color','Blue','LineWidth',2);
   plot(F,S,'o','Color','Blue','LineWidth',2); % Marcar puntos
   axis([-0.05,1.05,-0.05,1.05]);
   xlabel('Frecuencias acumuladas poblacion'); 
   ylabel('Proporciones acumuladas ingreso');
   title('Curva de Lorenz');
   hold off
end

