If the same threshold applies to all plots, you can add the options `Mesh` and `MeshShading` to `p1`, `p2` and `p3` and use the option `GridLines` in `Show`: DynamicModule[{a1 = 1, a2 = 2, a = 3, b1 = 1, b2 = 2, b = 3, lag1 = 26, lag = 30, time1 = 40, time2 = 36, time3 = 39}, p1 = Plot[a Sqrt[x] - b Cos[x], {x, 0, time1}, PlotStyle -> Blue, Mesh -> {{15}}, MeshShading -> {Opacity[1], Opacity[0.3]}]; p2 = Plot[a1 Sqrt[x] - b1 Cos[x], {x, time1 - lag, time2}, PlotStyle -> Red, Mesh -> {{15}}, MeshShading -> {Opacity[1], Opacity[0.3]}]; p3 = Plot[a2 Sqrt[x] - b2 Cos[x], {x, time2 - lag1, time3}, PlotStyle -> Green, Mesh -> {{15}}, MeshShading -> {Opacity[1], Opacity[0.3]}]; Show[p1, p2, p3, GridLines -> {{15}, None}, GridLinesStyle -> Directive[Gray, Dashed], PlotRange -> All]] [![enter image description here][1]][1] You can also use the option `ColorFunction`: twoToneCF[t_, color_] := If[# <= t, color, Opacity[.3, color]] &; DynamicModule[{a1 = 1, a2 = 2, a = 3, b1 = 1, b2 = 2, b = 3, lag1 = 26, lag = 30, time1 = 40, time2 = 36, time3 = 39, threshold = 15}, p1 = Plot[a Sqrt[x] - b Cos[x], {x, 0, time1}, Mesh -> {{15}}, ColorFunctionScaling -> False, ColorFunction -> twoToneCF[threshold, Blue]]; p2 = Plot[a1 Sqrt[x] - b1 Cos[x], {x, time1 - lag, time2}, ColorFunctionScaling -> False, ColorFunction -> twoToneCF[threshold, Red]]; p3 = Plot[a2 Sqrt[x] - b2 Cos[x], {x, time2 - lag1, time3}, ColorFunctionScaling -> False, ColorFunction -> twoToneCF[threshold, Green]]; Show[p1, p2, p3, GridLines -> {{threshold}, None}, GridLinesStyle -> Directive[Gray, Dashed], PlotRange -> All]] [![enter image description here][2]][2] An alternative trick is to add a semi-transparent rectangle as `Epilog`: With[{a1 = 1, a2 = 2, a = 3, b1 = 1, b2 = 2, b = 3, lag1 = 26, lag = 30, time1 = 40, time2 = 36, time3 = 39}, p1 = Plot[a Sqrt[x] - b Cos[x], {x, 0, time1}, PlotStyle -> Blue]; p2 = Plot[a1 Sqrt[x] - b1 Cos[x], {x, time1 - lag, time2}, PlotStyle -> Red]; p3 = Plot[a2 Sqrt[x] - b2 Cos[x], {x, time2 - lag1, time3}, PlotStyle -> Green]; Show[p1, p2, p3, Epilog -> {Opacity[.8, White], Rectangle[{15, 0}, {40, 40}]}, GridLines -> {{15}, None}, GridLinesStyle -> Directive[Gray, Dashed], PlotRange -> All]] [![enter image description here][3]][3] ***Note:*** You might want top play with `ConditionalExpression` and `Piecewise` to get all three plots using a single `Plot`. [1]: https://i.sstatic.net/Zo9Oe.png [2]: https://i.sstatic.net/4SDDH.png [3]: https://i.sstatic.net/RvK5A.png