如何在 Mathematica 中为多个图添加图例?

How to add legends for multiple plots in mathematica?

我有这样的代码

    gx = n * k0 * (1 - ((n/a)^ beta)
    Show[
    Plot[gx /. {k0 -> 0.5, beta -> 5, n -> 9, a -> 1}, {n, 0, 12}, PlotRange -> {{0, 12}, {0, 5}}, PlotLabels -> {"r0 = 0.5"}],
    Plot[gx /. {k0 -> 0.5, beta -> 0.5, n -> 9, a -> 1}, {n, 0, 12}, PlotRange -> {{0, 12}, {0, 5}}, PlotLabels -> {"r0 = 0.8"}]
        ]

但是,我将标签一个一个地放在另一个上面,并且没有清楚地标记。

或者,我尝试使用过的图例

Show[
Plot[gx /. {k0 -> 0.5, beta -> 5, n -> 9, a -> 1}, {n, 0, 12}, PlotRange -> {{0, 12}, {0, 5}}],
Plot[gx /. {k0 -> 0.5, beta -> 0.5, n -> 9, a -> 1}, {n, 0, 12}, PlotRange -> {{0, 12}, {0, 5}}],
PlotLegends -> {"beta = 5", "beta=0.5"}
    ]

为此,我收到一条错误消息,指出无法在 Show

中组合图形对象

关于我如何处理这些问题有什么建议吗?

此处显示了三种变体。

gx = n*k0*(1 - ((n/a)^beta));

Show[
 Plot[gx /. {k0 -> 0.5, beta -> 5, n -> 9, a -> 1}, {n, 0, 12},
  PlotRange -> {{0, 12}, Automatic}, PlotLabels -> {"beta = 5"}],
 Plot[gx /. {k0 -> 0.5, beta -> 0.5, n -> 9, a -> 1}, {n, 0, 12},
  PlotRange -> {{0, 12}, Automatic}, PlotLabels -> {"beta=0.5"}]]

Plot[
 {gx /. {k0 -> 0.5, beta -> 5, n -> 9, a -> 1},
  gx /. {k0 -> 0.5, beta -> 0.5, n -> 9, a -> 1}},
 {n, 0, 12}, PlotRange -> {{0, 12}, Automatic},
 PlotLegends -> {"beta = 5", "beta=0.5"}]

Legended[Show[
  Plot[gx /. {k0 -> 0.5, beta -> 5, n -> 9, a -> 1}, {n, 0, 12},
   PlotStyle -> ColorData[97][1], PlotRange -> {{0, 12}, Automatic}],
  Plot[gx /. {k0 -> 0.5, beta -> 0.5, n -> 9, a -> 1}, {n, 0, 12},
   PlotStyle -> ColorData[97][2], PlotRange -> {{0, 12}, Automatic}]],
 LineLegend[ColorData[97] /@ {1, 2}, {"beta = 5", "beta=0.5"}]]