Wolfram mathematica 可将方程';图形表示附近的表达式?

Wolfram mathematica 可将方程';图形表示附近的表达式?,wolfram-mathematica,Wolfram Mathematica,有没有可能当我在Mathematica中绘制一个函数时,它会自动将它的方程(即y=2x)或其他文本放在附近 乍一看,我没有找到任何选择,但如果有一个我想知道 谢谢“接近它的等式”是个问题。这不是一个容易解决的问题,当您开始使用重叠的绘图等“繁忙”图形时,这就变得有些不可能了 我没有一个好的例子来展示,但通常我会定义一个“标签函数”,它接受与正在绘制的函数相同的输入,在图形上放置一个点,并在附近写入一些文本。这样做的优点是可以轻松地改变文本的位置,但仍将其绑定到函数。一种方法是使用标准的附加程序包

有没有可能当我在Mathematica中绘制一个函数时,它会自动将它的方程(即y=2x)或其他文本放在附近

乍一看,我没有找到任何选择,但如果有一个我想知道

谢谢

“接近它的等式”是个问题。这不是一个容易解决的问题,当您开始使用重叠的绘图等“繁忙”图形时,这就变得有些不可能了


我没有一个好的例子来展示,但通常我会定义一个“标签函数”,它接受与正在绘制的函数相同的输入,在图形上放置一个点,并在附近写入一些文本。这样做的优点是可以轻松地改变文本的位置,但仍将其绑定到函数。

一种方法是使用标准的附加程序包,它会自动将表达式与用于打印的样式关联起来。默认情况下,输出看起来不是很好;我建议设置
LegendShadow->None
选项,并对粘贴在图例中的表达式使用
Style
,使它们看起来更好。此外,加载包会对
Plot
和相关函数进行一些有趣的重新定义,如果不小心,可能会破坏其他一些功能

使用Mathematica 6或更高版本,我经常使用工具提示来帮助我识别打印曲线:

Plot[Tooltip[Sin[x]], {x, 0, 8 Pi}]
唉,这只在交互使用图形时有用,因为必须将鼠标光标悬停在曲线上。它在纸上或静态图像上效果不太好

您可以使用Epilog选项在绘图上手动放置一些文本,如本例所示:

Plot[
  Sin[x], {x, 0, 8 Pi},
  Epilog -> Text["My Text", Offset[{32, 0}, {14, Sin[14]}]]
]
SetAttributes[myPlot, HoldAll]
myPlot[function_, {var_, min_, max_}] :=
  Plot[
    function, {var, min, max},
    Epilog -> Text[function, Offset[{40, 0}, {var, function} /. var -> min + (max - min)/20]],
    PlotRange -> All, AxesOrigin -> {0, 0}
  ]
调整Offset的参数以适应口味

如果您不介意手动放置,则此操作有效。自动放置会带来一些挑战,具体取决于您希望绘制的函数类型。但是,如果您了解感兴趣的函数的一般特征,那么可以编写一个函数来计算偏移量参数的漂亮值。例如,如果我知道我将绘制许多指数衰减函数,我可能会在本例中定义类似函数myPlot的内容:

Plot[
  Sin[x], {x, 0, 8 Pi},
  Epilog -> Text["My Text", Offset[{32, 0}, {14, Sin[14]}]]
]
SetAttributes[myPlot, HoldAll]
myPlot[function_, {var_, min_, max_}] :=
  Plot[
    function, {var, min, max},
    Epilog -> Text[function, Offset[{40, 0}, {var, function} /. var -> min + (max - min)/20]],
    PlotRange -> All, AxesOrigin -> {0, 0}
  ]
。。。其中,要偏移的参数是使用一些适用于此类绘图的任意常数自动计算的:

Manipulate[
  myPlot[1000 E^(-d t), {t, 0, 100}, "My Label"],
  {d, 0.01, .2}
]

由于所有这些选项都是可编程的,因此天空限制了您为标签放置编码的复杂程度。当然,这样的编程离内置选项的理想越来越远,内置选项可以神奇地在函数旁边的文本上绘制。Mathematica 8或9可能:)

呃,Mma 7中的传奇故事有没有不那么难看?我试过一次,从那以后我就用手画了我的传奇。它仍然很糟糕,但是更新的(>=6.0)样式指令给了你更多的空间来修复它。另请参见