2

I'm trying to get a graph for the offer curve for a consumer in a typical Edgeworth box scenario.

The ideal output is

MGW fig. 15.B.5

I honestly have no idea where to even begin, so I'd be very grateful for any advice.

My best guess is

\begin{center}
\begin{tikzpicture}
\begin{axis}[
scale = 1.2,
xmin = 0, xmax = 10,
ymin = 0, ymax = 10,
axis lines* = left,
xtick = {0}, ytick = \empty,
clip = false,
]
% Indifference curves
\addplot[domain = 0:10, restrict y to domain = 0:10, samples =
400, color = red]{10/(x^2)+1};
\addplot[domain = 1:10, restrict y to domain = 0:10, samples =
400, color = red]{10/((x-1)^2)+2};
\addplot[domain = 2:10, restrict y to domain = 0:10, samples =
400, color = red]{10/((x-2)^2)+3};
\addplot[domain = 3:10, restrict y to domain = 0:10, samples =
400, color = red]{10/((x-3)^2)+4};
\addplot[domain = 4:10, restrict y to domain = 0:10, samples =
400, color = red]{10/((x-4)^2)+5};
% Budget constraints
\addplot[domain = 0:10, restrict y to domain = 0:10, samples =
400, color = blue, thick]{9.16-1.02*x};
\addplot[domain = 0:10, restrict y to domain = 0:10, samples =
400, color = blue, thick]{9.16-1.59*x};
% Dashed lines
\addplot[color = black, dashed, thick] coordinates {(4.7, 0) (4.7,
4.37) (0, 4.37)};
\addplot[color = black, dashed, thick] coordinates {(3.3, 0) (3.3,
3.9) (0, 3.9)};
% Coordinate points
\addplot[color = black, mark = *, only marks, mark size = 3pt]
coordinates {(3.3, 3.9) (4.7, 4.37)};
% Labels
\node [right] at (current axis.right of origin) {$A$};
\node [above] at (current axis.above origin) {$B$};
\node [above] at (9.1, 0) {$M$};
\node [above] at (6, 0) {$M^\prime$};
\node [below] at (4.7, 0) {$Q_A$};
\node [below] at (3.3, 0) {$Q_A^\prime$};
\node [left] at (0, 4.5) {$Q_B$};
\node [left] at (0, 3.7) {$Q_B^\prime$};
\node [above] at (5.1, 4.2) {$D$};
\node [above] at (2.9, 2.8) {$D^\prime$};
\node [right] at (10, 1.1) {$U_1$};
\node [right] at (10, 2.12) {$U_2$};
\node [right] at (10, 3.16) {$U_3$};
\node [right] at (10, 4.2) {$U_4$};
\node [right] at (10, 5.4) {$U_5$};
\end{axis}
\end{tikzpicture}
\end{center}

But this produces different points D, and I'd like to have the budget line pivot around the same point omega.

I found the way to draw the edgeworth box given in this answer. Edgeworth Box of Pareto efficiency

An ideal thing would be to: shade the area in between both indifference curves; draw the budget constraint; draw the contract curve.

Thanks!

5
  • Welcome to TSE. What did you try? Commented Feb 4, 2023 at 16:43
  • Just updated the code
    – JF96
    Commented Feb 4, 2023 at 16:52
  • Welcome to TeX.SE!!! Commented Feb 5, 2023 at 8:48
  • Fine. // However, to copy and compile and see your result some parts are missing. Please try in a fresh .tex file, add the missing relevant parts and adjust your code, // Also a screenshot of the codes result won't hurt.
    – MS-SPO
    Commented Feb 5, 2023 at 10:42
  • It would be good to include some indifference curves of consumer 2, too.
    – Andre
    Commented Feb 5, 2023 at 15:15

1 Answer 1

1

This is what I'd do:

  1. Load decorations.pathreplacing library. This is for the brace.
  2. Place some points that define the straight lines, and do it using TikZ calc library and polar coordinates. This way you'll know the angles and you can draw the curves tangent to the lines.
  3. Draw the lines and curves, using the angles defined before.

I don't know exactly what your desired shaded area is, so I'm just guessing that. But the idea is the same is the area is any other.

For example:

\documentclass[tikz,border=2mm]{standalone}
\usepackage{amssymb}                       % \gtrsim
\usetikzlibrary{calc,                      % placing the coordinates
                decorations.pathreplacing} % brace

\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,scale=1.5]
% axes
\draw[stealth-stealth,thick]  (0,5) |- node[below] {$O_1$} (6,0);
\draw[stealth-stealth,thick] (-1,4) -| node[above] {$O_2$} (5,-1);
% coordinates (placed with calc libraries and polar coordinates)
%%% for the lines
\coordinate (A)  at (3.5,0.8);
\coordinate (B)  at ($(A)+(144:2.2)$);
\coordinate (C)  at ($(A)+(129:2.4)$);
\coordinate (A1) at ($(A)+(163:4.1)$);
\coordinate (B1) at ($(B)!-2.5cm!(A)$);
\coordinate (C1) at ($(C)!-1.9cm!(A)$);
%%% for the curves
\coordinate (P1) at (3.4,1.3);
\coordinate (P2) at (3.4,1.9);
\coordinate (Q1) at (0.7,4.3);
\coordinate (Q2) at (1.3,4.3);
% straight lines
\draw[blue] (A1) -- ($(A)!-2cm!(A1)$);
\draw[blue] (B1) -- ($(A)!-1.7cm!(B1)$);
\draw[blue] (C1) -- ($(A)!-1.5cm!(C1)$);
% curves
\draw[gray,thick,dashed] (5.5,0.6) node[right] {$OC_1$} to[out=180,in=-17] (A)
                   to[out=163,in=270,looseness=0.5] (B) to[out=90 ,in=225] (C)
                   to[out=45 ,in=250] (2.9,4.2) node[above] {$OC_1$};
\draw[thick,teal] (5.5,0.3) to[out=170,in=-17] (A) to[out=163,in=280,looseness=1.3] (0.2,4.3);
\draw[thick,teal] (P1)      to[out=170,in=-36] (B) to[out=144,in=280] (Q1);
\draw[thick,teal] (P2)      to[out=165,in=-51] (C) to[out=129,in=280] (Q2);
% points
\foreach\i in {A,B,C}
  \fill (\i) circle (0.4mm);
\draw[decorate,decoration={brace}] (0.1,4.4) -- (1.4,4.4) node[pos=0.8,above,text width=3cm] {Indifference Curves\\for $\gtrsim_1$};
% shaded area (just guessing)
\fill[red,fill opacity=0.2] (P1) to[out=170,in=-36] (B)
         to[out=144,in=280] (Q1) -- (Q2)
         to[out=280,in=129] (C)  to[out=-51,in=165] (3.4,1.9) -- cycle;
\end{tikzpicture}
\end{document}

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .