在Mathematica中组合Plots没有给出预期的结果

Cal*_*res 4 plot wolfram-mathematica

我正在尝试将a绘制的3个函数和绘制在a上的Plot[]1个函数结合起来ParametricPlot[].我的方程式如下:

plota = Plot[{-2 x, -2 Sqrt[x], -2 x^(3/5)}, {x, 0, 1}, PlotLegend -> {"-2 x", "-2 \!\(\*SqrtBox[\(x\)]\)", "-2 \!\(\*SuperscriptBox[\(x\), \(3/5\)]\)"}]
plotb = ParametricPlot[{2.4056 (u - Sin[u]), 2.4056 (Cos[u] - 1)}, {u,0, 1.40138}, PlotLegend -> {"Problem 3"}]
Show[plota, plotb]
Run Code Online (Sandbox Code Playgroud)

这是它给出的图像:

组合图

bbt*_*trb 6

正如尤达所说,PlotLegends太可怕了.但是,如果您不介意手动设置打印样式并在以后重复它们,ShowLegend可以提供帮助.

 plota = Plot[{-2 x, -2 Sqrt[x], -2 x^(3/5)}, {x, 0, 1}, 
              PlotStyle -> {{Red}, {Blue}, {Orange}}];
 plotb = ParametricPlot[{2.4056 (u - Sin[u]), 2.4056 (Cos[u] - 1)}, {u, 0, 1.40138}, 
                        PlotStyle -> {{Black}}];
Run Code Online (Sandbox Code Playgroud)

现在

ShowLegend[Show[plota, plotb], 
          {{{Graphics[{Red, Line[{{0, 0}, {1, 0}}]}], Label1},          
            {Graphics[{Blue, Line[{{0, 0}, {1, 0}}]}], Label2},
            {Graphics[{Orange, Line[{{0, 0}, {1, 0}}]}], Label3}, 
            {Graphics[{Black, Line[{{0, 0}, {1, 0}}]}], Label4}},
           LegendSize -> {0.5, 0.5}, LegendPosition -> {0.5, -0.2}}]
Run Code Online (Sandbox Code Playgroud)

哪个会给你这个:

在此输入图像描述

如果经常处理这个问题,你也可以编写一些简单的函数来减少这种麻烦.