# Edgeworth Box of Pareto efficiency

I would like to have a figure like the following image, but I can't find a way to make the red convex curves. My code so far contains:

\begin{tikzpicture}
\draw (1, 3.5) to[out=0,in=90] (3.5, 1);
\draw (.5, 3) to[out=0,in=90] (3, .5);
\draw (.25, 2.5) to[out=0,in=90] (2.5, 0.25);
\draw[-, very thick] (0,0) node[below]{O} -- (4.2,0) node[below] {y};
\draw[-, very thick] (0,0) -- (0,4) node[left]{x};
\draw[-,very thick] (0,4)--(4.2, 4) node[above]{A};
\draw[-, very thick] (4.2, 4)--(4.2,0);

\end{tikzpicture}

• You completely ignored 3 quadrants. Apr 23, 2014 at 5:54

That should do:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,10) node[left] {100} -- (0,0) node[midway,left] {Good Y} node[left]{A} -- (10,0) node[midway,below] {Good X} node[below] {100};
\draw (0,10) node[left] {100} -- (10,10) node[midway,above] {Good X} node[right]{B} -- (10,0) node[midway,right] {Good Y} node[below] {100};

\draw[very thick] (1, 9) to[out=0,in=90] (9, 1);
\draw[very thick] (1, 6.63) to[out=0,in=90] (6.63, 1);
\draw[thick,dashed] (1, 7.5) to[out=0,in=90] (7.5, 1);
\draw[thick,dashed] (1, 8.25) to[out=0,in=90] (8.25, 1);
\draw[thick,dashed,red] (3.33, 9) to[out=-90,in=180] (9, 3.33);

\draw[very thick,red] (1, 9) to[out=-90,in=180] (9, 1);
\draw[thick,dashed,red] (1.8, 9) to[out=-90,in=180] (9, 1.8);
\draw[thick,dashed,red] (2.5, 9) to[out=-90,in=180] (9, 2.5);
\draw[very thick,red] (3.33, 9) to[out=-90,in=180] (9, 3.33);

\draw[fill=green] (1,9) circle (1mm) node[left=2pt] {a};
\draw[fill=green] (9,1) circle (1mm) node[right=2pt] {q};
\draw[->,>=latex] (9,1)--(8.5,1.2);

\draw[->,>=latex] (9,5) node[above]{\footnotesize \begin{tabular}{c}Initial\\ Endowment\end{tabular}} to[out=-50,in=70] (9.1,1.1);

\draw[->,>=latex] (8,8) node[above]{\footnotesize \begin{tabular}{c}Efficient\\ Allocation\end{tabular}} to[out=-90,in=20] (5.1,5.1);
\end{tikzpicture}
\end{document}


I am sure that there is a much more efficient way of doing it, but this is a starting point.

• Welcome to TeX.SX! Please make your code compilable (if possible), or at least complete it with \documentclass{...}, the required \usepackage's, \begin{document}, and \end{document}. This will ensure that the code compiles, which might be helpful to future viewers of this question. Apr 17, 2014 at 16:54
• Thanks for the comments, the code was edited to make it compilable. Apr 17, 2014 at 18:11