在绘制函数列表时使用ReplaceAll

时间:2011-05-05 00:03:55

标签: wolfram-mathematica

当ReplaceAll定位函数列表时,每个函数的PlotStyle都将丢失。

默认属性示例:

GraphicsGrid[{{
   Plot[{Sin@Cos@t, Cos@Sin@t}, {t, 0, Pi}],
   Plot[{s@c@t, c@s@t} /. {s -> Sin, c -> Cos}, {t, 0, Pi}]
   }}]

enter image description here 自定义属性的示例:

GraphicsGrid[{{
  Plot[{Sin@Cos@t, Cos@Sin@t}, {t, 0, Pi}, PlotStyle -> {Dashed, {Red, Dotted}}],
  Plot[{s@c@t, c@s@t} /. {s -> Sin, c -> Cos}, {t, 0, Pi}, 
                                           PlotStyle -> {Dashed, {Red, Dotted}}]
   }}]

enter image description here

这是因为Plot在实际绘图之前探索其参数的方式。

为函数指定单个PlotStyle属性的最优雅方法是什么?如果可能,在未指定PlotStyle时重新获得默认属性?

注意:

当然在做

 Plot[{f1 /. replist, f2 /. replist ....} ..]

不被视为“优雅”:D

1 个答案:

答案 0 :(得分:3)

我可能只会使用:

  • Plot[{s@c@t, c@s@t} /. {s -> Sin, c -> Cos} // Evaluate, {t, 0, Pi}]

或者:

  • Plot[#, {t, 0, Pi}] &[{s@c@t, c@s@t} /. {s -> Sin, c -> Cos}]

enter image description here