2

I would like to have a figure like the following image, but I can't find a way to make the red convex curves.

enter image description here

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}
1
  • You completely ignored 3 quadrants.
    – sonics876
    Apr 23, 2014 at 5:54

1 Answer 1

4

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.

2
  • 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.
    – Adam Liter
    Apr 17, 2014 at 16:54
  • Thanks for the comments, the code was edited to make it compilable.
    – Foblire
    Apr 17, 2014 at 18:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.