wolfram-mathematica - 可以将方程的表达式放在其图形表示附近吗?

标签 wolfram-mathematica

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

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

谢谢

最佳答案

使用 Mathematica 6 或更高版本,我经常使用 Tooltip 来帮助我识别绘图曲线:

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]}]]
]

调整 Offset 的参数以适应口味。

如果您不介意手动放置,则此方法有效。自动放置会带来一些挑战,具体取决于您希望绘制的函数类型。但是,如果您了解感兴趣的函数的一般特征,您可以编写一个函数来计算 Offset 参数的漂亮值。例如,如果我知道我要绘制许多指数下降函数,我可能会在本例中定义类似函数 myPlot 的东西:

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 的参数是使用一些任意常数自动计算出来的,这些常数对这些类型的图工作得相当好:

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

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

关于wolfram-mathematica - 可以将方程的表达式放在其图形表示附近吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1740305/

相关文章:

wolfram-mathematica - 如何在 Mathematica 中调整操作输出?

wolfram-mathematica - 在mathematica中找到两个ListLinePlot的交点

matlab - 有没有办法自动将结果或数据从 Matlab 导入 Mathematica?

background - Mathematica 网格中的多个背景子区域

wolfram-mathematica - 在 Mathematica 中安全地设置 "struct"

graphics - 在 Mathematica 中绘制钟面(寻找更好的解决方案)

wolfram-mathematica - 如何在 Mathematica 中构建所有小于 n 的斐波那契数列

loops - 数学确定性自动机

wolfram-mathematica - 纯函数的输入列表

indexing - Mathematica中的CUDAFunctionLoad-索引问题