答案1
使用tzplot
包裹:
\documentclass[tikz,border=5mm]{standalone}
\usepackage{tzplot}[scale=.6]
\begin{document}
\begin{tikzpicture}[font=\scriptsize]
% \tzhelplines(10,10)
\tzaxes*(10,10){$x_1$}{$x_2$}[l]
\tzto[blue,bend right,thick]"IC1"(1,8)(9,2){$IC^1$}[r]
\tzvXpointat*[red]{IC1}{3}(Xa){$x^a$}[[red]45]
\tzvXpointat*[teal]{IC1}{6}(Xb){$x^b$}[[teal]20]
\tzproj[red](Xa){$x_1^a$}{$x_2^a$}
\tzproj[teal](Xb){$x_1^b$}{$x_2^b$}
\tzcoors($(Xa)+(-2.5,1.5)$)(OCa1)($(Xa)+(2,-3.5)$)(OCa2);
\tzplotcurve[red,thick](OCa1){$OC_a$}[-90](Xa)(OCa2);
\tzcoors($(Xb)+(-5,1.2)$)(OCb1)($(Xb)+(3,-2)$)(OCb2);
\tzplotcurve[teal,thick](OCb1){$OC_b$}[90](Xb)(OCb2);
\tzcoors($(Xa)+(-1.5,3)$)(IC2L)($(Xa)+(3,-1.5)$)(IC2R);
\tzplotcurve[blue,thick,dashed](IC2L)(Xa)(IC2R){$IC^2$}[r];
\tzcoors($(Xa)+(-1.2,3)$)(IC3L)($(Xa)+(3,-1.2)$)(IC3R);
\tzplotcurve[blue,thick,dotted](IC3L)(Xa)(IC3R){$IC^3$}[45];
\end{tikzpicture}
\end{document}