2
$\begingroup$

I recall my previous post Different style of filling in x direction. In particular, in the following code I have a new question:

colors = ColorData[97, "ColorList"][[{1, 1, 2, 3, 4}]]; linea = 
Line[{{0.1, 0}, {0.1, 1200}}]; Show[
Plot[{ConditionalExpression[
1000 Abs[(-1000 + 1000 a)/(-2000 + 1000 a)], a <= .1], 
ConditionalExpression[1000 Abs[(-1000 + 1000 a)/(-2000 + 1000 a)], 
a >= .1], (500 Abs[(-3 + 2 a)/(-2 + a)])/Sqrt[3], 
250 Sqrt[2]
Abs[(4 + 3 Sqrt[2] - 4 a - 4 Sqrt[2] a + 
2 Sqrt[2] a^2)/((-2 + a) (-1 - Sqrt[2] + Sqrt[2] a))], 
500 Abs[(
7 + 4 Sqrt[3] - 8 a - 4 Sqrt[3] a + 
4 a^2)/((-2 + a) (-2 - Sqrt[3] + 2 a))]}, {a, 0, 1}, 
PlotRange -> {{0, 1}, {0, 1200}}, Mesh -> {{0.1, 1}}, 
MeshShading -> {Dashed, Automatic, Dotted}, MeshStyle -> None, 
Filling -> {1 -> {Axis, GrayLevel[.95]}, 
2 -> {Axis, GrayLevel[.75]}}, 
LabelStyle -> {FontFamily -> "Times New Roman", Plain, 
FontSize -> 13}, 
PlotStyle -> Thread[Directive[colors, Thickness[.005]]], 
Ticks -> {{0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}, 
Automatic}, AxesOrigin -> {0, 0}, ImageSize -> Large, 
Epilog -> {Directive[Black, Thick, 
Dashing[{0, Small, Large, Small}]], linea, 
Inset[Framed[
Style["\!\(\*SubscriptBox[\(V\), \(22\)]\)", 
FontFamily -> "Times New Roman", FontSize -> 13], 
FrameStyle -> Directive[Black, Thin, Dashed]], {.5, 190}], 
Inset[Framed[
Style["\!\(\*SubscriptBox[\(V\), \(nn\)]\)", 
FontFamily -> "Times New Roman", FontSize -> 13], 
FrameStyle -> Directive[Black, Thin]], {.5, 1000}]}], 
Graphics[{Dashed, Arrow[{{0.5, 240}, {0.5, 960}}]}]]

I would like to change filling option; in particular, I would like to fill from x axis to the lower bound of these 4 curves. How can I do this?

$\endgroup$
  • $\begingroup$ Check Filling->{4->Axis} $\endgroup$ – David G. Stork Mar 22 '18 at 17:29
2
$\begingroup$
  1. Redefine colors as colors = ColorData[97, "ColorList"][[;;4]];
  2. Add two more functions ConditionalExpression[Min[functions1], a <= .1] and ConditionalExpression[Min[functions1], a >= .1]) to the end of the list of your four functions (functions1)
  3. Use the Filling setting Filling -> {5 -> {Axis, GrayLevel[.95]}, 6 -> {Axis, GrayLevel[.75]}}
  4. Use the PlotStyle setting PlotStyle -> Join[Thread[Directive[colors, Thickness[.005]]], {None, None}]
  5. Add the option Exclusions -> None

colors = ColorData[97, "ColorList"][[;;4]]; 
functions1 = {1000 Abs[(-1000 + 1000 a)/(-2000 + 1000 a)],
  (500 Abs[(-3 + 2 a)/(-2 + a)])/Sqrt[3], 
  250 Sqrt[2] Abs[(4 + 3 Sqrt[2] - 4 a - 4 Sqrt[2] a + 
         2 Sqrt[2] a^2)/((-2 + a) (-1 - Sqrt[2] + Sqrt[2] a))], 
  500 Abs[(7 + 4 Sqrt[3] - 8 a - 4 Sqrt[3] a + 4 a^2)/((-2 + a) (-2 - Sqrt[3] + 2 a))]}; 
functions = Join[functions1, {ConditionalExpression[Min[functions1], a <= .1]
  ConditionalExpression[Min[functions1], a >= .1]}];

linea =  Line[{{0.1, 0}, {0.1, 1200}}];    
epilog = {linea, {Dashed, Arrow[{{0.5, 240}, {0.5, 960}}]}, 
  Directive[Black, Thick, Dashing[{0, Small, Large, Small}]],
  Inset[Framed[ Style[Subscript["V", "22"], Italic, FontFamily -> "Times New Roman", 
      FontSize -> 13],  FrameStyle -> Directive[Black, Thin, Dashed]], {.5, 190}], 
  Inset[Framed[Style[Subscript["V", "nn"], Italic, FontFamily -> "Times New Roman", 
      FontSize -> 13],  FrameStyle -> Directive[Black, Thin, Dashed]], {.5, 190}]};

Plot[functions, {a, 0, 1}, PlotRange -> {{0, 1}, {0, 1200}}, 
  Mesh -> {{0.1, 1}}, MeshShading -> {Dashed, Automatic, Dotted}, 
  MeshStyle -> None, 
  Filling -> {5 -> {Axis, GrayLevel[.95]},  6 -> {Axis, GrayLevel[.75]}}, 
  LabelStyle -> {FontFamily -> "Times New Roman", Plain,  FontSize -> 13}, 
  PlotStyle ->  Join[Thread[Directive[colors, Thickness[.005]]], {None, None}], 
  Ticks -> {{0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}, Automatic}, 
  AxesOrigin -> {0, 0}, ImageSize -> Large, Epilog -> epilog, Exclusions -> None]

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.