使用 tikz-pgf 绘制效用曲线

使用 tikz-pgf 绘制效用曲线

我有这张来自 Sharpe (1964) 的图,我想使用 tikz-pgf 重新创建它: 效用曲线

我对 tikz-pgf 包还不太熟悉,所以真的不知道从哪里开始。我想做一些类似于图片的事情,但将效用曲线翻转(使它们凸起)。我想包括一个可行区域(如图中阴影部分所示),但它不必是那个精确的形状,字母也不是必需的,但如果有就更好了。

有人知道如何开始做这样的事情吗?提前谢谢!

答案1

\documentclass[border=3pt]{standalone}
\makeatletter 
\newcommand*{\bottop}{% from https://tex.stackexchange.com/a/414828/121799
  \mathpalette\@bottop{}%
}
\newcommand*{\@bottop}[2]{%
  % #1: math style
  % #2: unused
  \rlap{$#1\bot\m@th$}% put \bot to the right without moving the current point
  \top
}
\makeatother
\usepackage{tikz}
\usetikzlibrary{positioning,calc}
\begin{document}
\begin{tikzpicture}
 \node[label=right:$F$] (F) at (8.8,4){$\bullet$};
 \node[label=below:$A$] (A) at (4.3,1.6){$\bullet$};
 \node[label=right:$X$] (X) at (11.6,11.8){$\bullet$};
 \node[label=right:$C$] (C) at (10.9,8.3){$\bullet$};
 \node[label=right:$D$] (D) at (10.75,7.9){$\bullet$};
 \node[label=right:$D$] (B) at (10.3,7){$\bullet$};
 \draw[thick] (0,0) -- (0,16) node[left,pos=0.9]{$\sigma_\mathrm{R}$};
 \draw[thick] (0,0) -- (16,0) node[below,pos=0.9]{$E_\mathrm{R}$};
 \draw[thick,fill=gray] (1.3,3.2) to (3.6,7) to[bend right=10] (6.6,10)
 to[bend right=14] (X.center) 
 to[bend left=14] (C.center)
 to[bend left=4] (D.center)
 to[bend left=4] (B.center)
 to[bend left=4] (F.center) 
 to[bend left=24] (A.center) to[bend left=24]  cycle;
 \draw[ultra thick,dashed] (3,0) to[bend left=7] (6,5.6) to[bend left=22] 
 (15,11.2) node[right] {$\bottop$};
 \draw[ultra thick,dashed] (6.5,0) to[bend left=7] (F) to[bend left=22] 
 (15,8.2) node[right] {$\bottop\!\!\bottop$};
 \draw[ultra thick,dashed] (9.7,0) to[bend left=17] 
 (15,5.2) node[right] {$\bottop\!\!\bottop\!\!\bottop$};
 \draw[thick,latex-] (B.center) -- (B|-C) node[label=left:$Z$](Z){$\bullet$};
 \draw[thick,-latex] (Z.center) -- (C.center);
 \draw[thick,-latex] (Z.center) -- (D.center);
\end{tikzpicture} 
\end{document}

在此处输入图片描述

相关内容