如何控制Mathematica中图形的图形停留?

时间:2010-11-27 13:38:37

标签: image overlay wolfram-mathematica plot

我想在图形的顶部放置一个图形,但我需要图形中的特定点来对应图中的特定点。

我知道我可以使用

导入数字
fig=Import["filename.ext","Graphics"];

我使用图形创建我的情节:

p=Plot[Graphics[Points[data]]];

我想我需要通过写

来覆盖图上的情节

显示[{无花果,P}]

但是我想在不使用鼠标的情况下控制结果图的大小,同样能够对齐两个图形。

非常感谢任何指向此需要的命令的指针。

2 个答案:

答案 0 :(得分:4)

而不是Show[]使用Overlay[]Alignment选项:

Overlay[{fig, p}, Alignment -> {-0.75, 0.33}] (* x,y values in [-1,1] *)

您可以在其中任何一个中使用Plot选项,分别控制OverlayImageSize的大小。请记住,您可以通过Import["filename.ext", "ImageSize"]获取要导入的图形的图像大小。因此,为了确保绘图与您可以执行的图像大小相同:

size = Import["filename.ext", "ImageSize"];
p = Plot[Graphics[Points[data]], ImageSize->size];

答案 1 :(得分:0)

以下内容将Image“img”的左下角放在封闭图形的位置0,0,并将其缩放,使其最长边在图形坐标中为1。

Show[plot, Graphics[Inset[img, {0, 0}, {0, 0}, 1]]]

如果您知道要将图像放在Graphics坐标的位置,那么就完成了。如果你想把它放在绝对坐标的某个点上,你必须先将它转换成图形坐标,这意味着找到你的图形的坐标系(PlotRangePlotRangePadding)和坐标系渲染图像(ImageSizeImagePadding)并计算出映射。

我必须解决类似问题earlier并手动设置这些选项,定位按预期工作。