It takes me a long time to construct the following picture:
σ = 2;
A = 1;
δ = 0.03;
pa = Plot[
Max[(1 + β)/(2 β), (1 + β)^2/(2 β) (1/σ (β/(1 + β) A - δ))],
{β, 0, 4}, Filling -> {1 -> Top},
FillingStyle -> LightBlue, PlotStyle -> Opacity[0.5],
AxesLabel -> {"β", "ξ"}, PlotRange -> {{0, 4}, {0, 1.5}}
];
pb = Plot[
Min[(1 + β)/(2 β), (1 + β)^2/(2 β) (1/σ (β/(1 + β)A - δ))], {β, 0, 4},
Filling -> {1 -> Axis, LightBlue}, PlotStyle -> Opacity[0.5],
AxesLabel -> {"β", "ξ"}, FillingStyle -> LightRed,
PlotRange -> {{0, 4}, {0, 1.5}}
];
pc = Plot[
{(1 + β)/(2 β), (1 + β)^2/(2 β) (1/σ (β/(1 + β) A - δ))}, {β, 0, 4},
Filling -> {2 -> {{1}, {LightOrange, LightGreen}}},
PlotStyle -> Opacity[0.5], AxesLabel -> {"β", "ξ"},
PlotRange -> {{0, 4}, {0, 1.5}}
];
Show[
pa, pb, pc,
ImageSize -> Scaled[.5], AxesOrigin -> {0, 0},
LabelStyle -> {FontFamily -> "Times New Roman"}
]
which gives exactly what I want. Now I would like to Manipulate this picture on $A$, $\delta$ and $\sigma$. But when I create the command
Manipulate[
Show[{pa, pb, pc}],
{σ, 0.1, 2}, {A, 0.1, 5}, {δ, 0.001, 1},
ContentSize -> Large
]
I have the graphic, the Manipulate container but nothing append when I move the cursor.
Incidentally I would like to label the curves: I know there are some exchanges on the subject, but it is not clear if the solutions will work with Manipulate.


Manipulateneeds to "see" the parameters in the definition of your plots explicitly in order to be able to change them; that's why moving the definitions of the plots inside theManipulateworks, as suggested by JasonB below. See also the docs of Manipulate, in the "Possible Issues" section: "Manipulate only "notices" explicit visible parameters". – MarcoB May 20 '16 at 15:41