Drawing the mapping of elements for sets in LaTeX

One option using TikZ:

\documentclass{article}          
\usepackage{tikz}
\usetikzlibrary{positioning,shapes,fit,arrows}

\definecolor{myblue}{RGB}{56,94,141}
\begin{document}

\begin{tikzpicture}[line width=1pt,>=latex]
\sffamily
\node (a1) {Anu};
\node[below=of a1] (a2) {Ashu};
\node[below=of a2] (a3) {Jenny};
\node[below=of a3] (a4) {Cathy};

\node[right=4cm of a1] (aux1) {};
\node[below= 0.5cm of aux1] (b1) {Raaz};
\node[below=of b1] (b2) {Jonathan};
\node[below=of b2] (b3) {Fred};
\node[right=4cm of a4] (aux2) {};

\node[shape=ellipse,draw=myblue,minimum size=3cm,fit={(a1) (a4)}] {};
\node[shape=ellipse,draw=myblue,minimum size=3cm,fit={(aux1) (aux2)}] {};

\node[below=1.5cm of a4,font=\color{myblue}\Large\bfseries] {Domain};
\node[below=1.5cm of aux2,font=\color{myblue}\Large\bfseries] {Range};

\draw[->,myblue] (a1) -- (b1.170);
\draw[->,myblue] (a2) -- (b1.190);
\draw[->,myblue] (a3) -- (b2.175);
\draw[->,myblue] (a4.20) -- (b2.190);
\end{tikzpicture}

\end{document}

enter image description here


Another solution if you need to adapt the size of the map. if you want to scale the picture it's preferable to avoid fit. It's possible also that you want to draw the same ellipses. In this case you can do that

\documentclass{article}          
\usepackage{tikz}
\usetikzlibrary{arrows}

\definecolor{myblue}{RGB}{56,94,141}
\begin{document}

\begin{tikzpicture}[scale=.75]
\draw[ultra thick,myblue] (0,0) circle [x radius=1.5cm, y radius=5cm]
                    (6,0) circle [x radius=1.5cm, y radius=5cm];

\node[font=\color{myblue}\Large\bfseries] at (0,-6) {Domain};
\node[font=\color{myblue}\Large\bfseries] at (6,-6) {Range};  

\node (a1)  at (0,3)  {Anu};
\node (a2) at (0,1)   {Ashu};
\node (a3) at (0,-1)  {Jenny};
\node (a4) at (0,-3)  {Cathy};

\node[circle] (b1) at (6,2)  {Raaz}; 
 % I used circle to get a fine position of the arrows without a complicated code
\node[circle] (b2) at (6,0)  {Jonathan};
\node[circle] (b3) at (6,-2) {Fred};

\draw[thick,->,myblue] (a1.east) -- (b1);
\draw[thick,->,myblue] (a2.east) -- (b1);
\draw[thick,->,myblue] (a3.east) -- (b2);
\draw[thick,->,myblue] (a4.east) -- (b2);
\end{tikzpicture}    
\end{document} 

It's possible to define some styles to get a better code. It's possible to use some variables to draw automatically some parts of the code.

Update 2

We can add some styles :

\documentclass{article}          
\usepackage{tikz}
\usetikzlibrary{arrows}

\definecolor{myblue}{RGB}{56,94,141}
\newcommand\xsetpos{6}

\begin{document}

\begin{tikzpicture}[scale=.75,
                    arrow/.style={thick,->,myblue},
                    set name/.style={font=\color{myblue}\Large\bfseries\sf},
                    set/.style={ultra thick,myblue},
                    every node/.style={circle},
                    font=\sf
                    ]
\draw[set] (0,0) circle [x radius=1.5cm, y radius=5cm]
           (\xsetpos,0) circle [x radius=1.5cm, y radius=5cm];

\node[set name] at (0,-6) {Domain};
\node[set name] at (\xsetpos,-6) {Range};  

\node (a1) at (0,3)  {Anu};
\node (a2) at (0,1)  {Ashu};
\node (a3) at (0,-1) {Jenny};
\node (a4) at (0,-3) {Cathy};

\node (b1) at (\xsetpos,2)  {Raaz};
\node (b2) at (\xsetpos,0)  {Jonathan};
\node (b3) at (\xsetpos,-2) {Fred}; 

\begin{scope}[arrow]
  \draw (a1.east) -- (b1);
  \draw (a2.east) -- (b1);
  \draw (a3.east) -- (b2);
  \draw (a4.east) -- (b2); 
\end{scope}

\end{tikzpicture}    
\end{document} 

enter image description here


There is no need for using absolute coordinates, which make things only complicated:

\documentclass[dvipsnames]{article}
\usepackage{pst-node}
\begin{document}
\begin{center}
FindFathersMap

\def\arraystretch{2 }
\tabular{c@{\hspace{3cm}}c}
\psovalbox[fillstyle=solid,fillcolor=blue!10]{%
\tabular{c}    % left names
    \rnode[r]{Anu}{Anu}\\
    \rnode[r]{Ashu}{Ashu}\\
    \rnode[r]{Jenny}{Jenny}\\
    \rnode[r]{Cathy}{Cathy}
\endtabular}
&
\psovalbox[fillstyle=solid,fillcolor=blue!10]{%
\tabular{c}    % right names
    \rnode[l]{Raaz}{Raaz}\\
    \rnode[l]{Jonathan}{Jonathan}\\
    \rnode[l]{Fred}{Fred}
\endtabular}
\\
\textcolor{NavyBlue}{\bfseries Domain} & \textcolor{NavyBlue}{\bfseries Range}
\endtabular
 \psset{linecolor=NavyBlue,nodesep=6pt,arrows=->,arrowscale=2}
 \ncline{Anu}{Raaz}    \ncline{Ashu}{Raaz}   \ncline{Jenny}{Jonathan}   \ncline{Cathy}{Jonathan}
\end{center}
\end{document}

enter image description here