在Mathematica中绘制多条网格线并给出单独的标签

时间:2018-06-25 14:28:48

标签: plot wolfram-mathematica axis-labels mathematica-8 gridlines

我正在尝试绘制以下情节:

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函数中插入一个axislabel,例如:Gridlines -> {{{0.9375},{}}, AxesLabel -> {"R",""}},但似乎不起作用。

1 个答案:

答案 0 :(得分:1)

使用Show,仅遵循选项的第一个版本。将所有网格线放在第一张图中,或将它们作为选项添加到Show中,它将覆盖其他所有网格线。

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