Построение нескольких линий сетки и создание отдельных меток в Mathematica - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь построить следующий график:

Pars = {ep -> 0.5, f1p -> 0.3, f2p -> 0.1, dp -> 0.05, q -> 0.1, 
   en -> 0.4, d -> 0.1, Q -> 0.1, f2n -> 0.3, f1n -> 0.4, a -> 0.05, 
   N1 -> 0.5, N2 -> 0.5}; #Parameters

PlotREq1 = 
  Plot[R = S /. Pars, {S, 0, 0.9375}, 
   PlotRange -> {{0, 3.5}, {0, 2}}, PlotStyle -> {Red, Thick, Dashed},
    GridLines -> {{0.9375}, {}}];  
PlotREq2 = 
  Plot[R = (a + d)/(en f1n) /. Pars, {S, 0.9375, 1.4375}, 
   PlotRange -> {{0, 3.5}, {0, 2}}, PlotStyle -> {Red, Thick, Dashed},
    GridLines -> {{1.4375}, {}}];
PlotREq3 = 
  Plot[R = ((a + d) (f1p - f2p))/(en (f1p f2n - f1n f2p)) /. Pars, {S,
     1.4375, 2.3}, PlotRange -> {{0, 3.5}, {0, 2}}, 
   PlotStyle -> {Red, Thick, Dashed}, GridLines -> {{2.3}, {}}];
Show[PlotREq1, PlotREq2, PlotREq3]

Однако отображается только первая линия сетки, а две другие вертикальные линии 1.4375 и 2.3 не отображаются.Кроме того, кто-нибудь может предложить способ маркировки линий сетки?Я попытался вставить метку оси в функцию Gridline как: Gridlines -> {{{0.9375},{}}, AxesLabel -> {"R",""}}, но, похоже, она не работает.

1 Ответ

0 голосов
/ 25 июня 2018

Используя Show, следует только первая версия опции. Поместите все линии сетки на первом графике или добавьте их в качестве параметров к Show, который переопределит все остальные.

Show[PlotREq1, PlotREq2, PlotREq3, GridLines -> {{0.9375, 1.4375, 2.3}, {}}]
...