【问题标题】:How do I combine the graphic of a ListPlot with the graphic of a Plot?如何将 ListPlot 的图形与 Plot 的图形结合起来?
【发布时间】:2011-05-30 20:08:31
【问题描述】:

有没有办法将ListPlot 的图形与Plot 的图形结合起来? (我需要在 ListPlot 的图形上绘制一个函数的图形)

【问题讨论】:

标签: wolfram-mathematica


【解决方案1】:

您可以将任何图形与Show 函数结合起来,如下所示:

Show[myListPlot, myPlot]

这概括为一次组合任意数量的图:Show[p1, p2, p3, p4, ...]Show[{p1,p2,p3,p4,...}]


参考及图片来源:http://reference.wolfram.com/mathematica/ref/Show.html


如果Show 没有以正确的顺序堆叠图形,您也可以使用Epilog,但是将两个以上的图形与 Epilog 组合起来会很麻烦。

【讨论】:

  • 我不明白你的最后一行...请解释一下为什么Epilog 过于矫枉过正或者您所说的“堆叠顺序”是什么意思?
  • 出于几个原因,您应该将 cmets 作为 cmets 发布到其他答案中,但最重要的是将来可能会删除当前答案,并且可以发布其他答案
  • @d00b:如果您查看文档,Epilog 明确声明的目的是在制作第一个图形后在顶部渲染图形(例如,允许叠加层、蒙版和水印),而目的of Show就是将点、线、面等2D和3D图形结合起来。此外,如果您希望组合超过 2 个图形,Epilog 将变得非常笨拙。每个人都有时间和地点。
  • 谢谢。那么为什么 mma 文档在几个地方使用Epilog 来叠加图呢?一个例子是在Histogram 下的应用程序中。
【解决方案2】:

从你的第二行,我认为Epilog 是你正在寻找的。这是一个例子:

f[x_] := 1/Sqrt[2 Pi] Exp[-(x^2)/2];
ListPlot[
 Table[
  {x, PDF[NormalDistribution[], x]}, {x, -4, 4, 0.1}
  ],
 Epilog -> First@Plot[f[x], {x, -4, 4}, PlotStyle -> Red]
 ]

另一种方法是使用Show

p1 = ListPlot[
   Table[
    {x, PDF[NormalDistribution[], x]}, {x, -4, 4, 0.1}
    ]
   ];
p2 = Plot[f[x], {x, -4, 4}, PlotStyle -> Red];
Show[p1,p2]

另一方面,如果我弄错了,而您只是想将它们组合在一起,那么您可以使用GraphicsRowGraphicsColumn

FullGraphics@GraphicsRow[{p1, p2}]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2015-04-11
    • 2021-07-22
    相关资源
    最近更新 更多