为什么 Epilog 在我的 Mathematica 函数中不起作用?

Why does not Epilog work in my function in Mathematica?

所以为了节省一些时间,我写了一个函数来绘制一个带有很多默认设置的图形。我想在轴上添加一个 0 刻度,所以我在图中添加了 Epilog。但是,图中似乎没有显示 0,Epilog 似乎根本不起作用。

LatexTextStyle[text_] := 
 Style[text, FontSize -> 18, FontFamily -> "CMU Serif"]
StyledText[text_] := Text[LatexTextStyle[text]]
StyledTextPos[text_, posx_, posy_]  := 
 Text[LatexTextStyle[text], {posx, posy}]
NPlot[fns_, variable_ : x, xmin_, xmax_, ymin_, ymax_, 
  pltStyle_ : Default, epilog_ : {}, marginScale_ : 0.12, 
  fontSize_ : 18, xOffset_ : 10, yOffset_ : 10] := Plot[
  fns, 
  {variable, xmin, xmax}, 
  PlotStyle -> pltStyle, 
  AspectRatio -> Equal,
  PlotRange -> {
    {xmin - marginScale*Abs[xmax - xmin], 
     xmax + marginScale*Abs[xmax - xmin]}, {ymin - 
      marginScale*Abs[ymax - ymin], 
     ymax + marginScale*Abs[ymax - ymin]}
    },
  BaseStyle -> {FontFamily -> "CMU Serif", FontSize -> fontSize},
  AxesStyle -> Arrowheads[{0.0, 0.05}],


  Epilog -> {
    StyledTextPos["0", -xOffset, -yOffset]
    }
  ]

NPlot[fns = x^2 + 2 x + 1, xmin = -10, xmax = 10, ymin = -5, 
 ymax = 15]

这是我得到的图表:

当我尝试其他 Epilog 输入时,似乎没有任何显示。

您的偏移默认值将 0 定位在 {-10, -10},低于垂直绘图范围。

这些默认值正确定位 0:

NPlot[ ... , xOffset_ : 0.6, yOffset_ : 1] := etc.