如何在 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"}]]
我有这样的代码
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"}]]