如何绘制资本市场线

如何绘制资本市场线

我不知道如何在 latex 中绘制数据,如附图所示。我花了好几天才弄清楚。我仍然没有解决这个问题。在此处输入图片描述

答案1

欢迎来到 Tex.SE!这里的问题通常围绕具体问题,尤其是图形设计人员,如果您展示您尝试过的方法和遇到的问题,他们通常会给予更多帮助。 http://texample.net通常是一个很好的起点。

但由于您发布的图表非常有趣,而且这是第一篇文章,因此这里对其进行了尝试元帖子您可能想改编一下。如果您点击链接,会找到大量教程和说明。

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{luatex85}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
    % axes
    path xx, yy;
    xx = origin -- 240 right;
    yy = xx rotated 90;

    % define some points
    z.T = (104, 144);
    z.P = (160, 189);
    z.R = whatever[z.T, z.P]; x.R = 0;
    z1  = whatever[z.T, z.P]; x1 = 200;
    z0 = (190, 10);

    % define a parabola-like curve through the points...
    path ff;
    ff = z0 .. controls (z.R shifted 10 up) 
                    and (z.R shifted 10 right) .. z.T --- z.P .. z1;

    % draw some lines
    draw ff withcolor 2/3 blue;
    draw z.R -- z.T dashed evenly;
    draw z.T -- z1 dashed evenly withcolor 2/3 red;
    draw (0, y.T) -- z.T -- (x.T,0) dashed withdots scaled 1/2;
    draw xx;
    draw yy;

    % add some labels...
    label.top("$\mu$", point 1 of yy);
    label.rt("$\sigma$", point 1 of xx);
    label.lft("$\mu_M$", (0, y.T));
    label.bot("$\sigma_M$", (x.T, 0));
    label.lft("$r_F$", z.R);

    dotlabel.lrt("$T$", z.T);
    dotlabel.lrt("$P$", z.P);

endfig;
\end{mplibcode}
\end{document}

您需要用 来编译它lualatex。我为您留下了标签和箭头。

相关内容