2

我想在图形上放置一个图形,但我需要图形中的特定点与图形中的特定点相对应。

我知道我可以使用

fig=Import["filename.ext","Graphics"];

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

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

我想我需要通过写来覆盖图上的情节

显示[{fig,p}]

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

任何指向为此所需命令的指针将不胜感激。

4

2 回答 2

5

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

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

您可以通过使用两者中的任何一个中的选项来单独控制两者Plot的大小。请记住,您可以通过 获取要导入的图形的图像大小。因此,要确保绘图与您可以执行的图像大小相同:OverlayImageSizeImport["filename.ext", "ImageSize"]

size = Import["filename.ext", "ImageSize"];
p = Plot[Graphics[Points[data]], ImageSize->size];
于 2010-11-27T16:26:17.510 回答
0

下面将图像“img”的左下角放在封闭图形的位置 0,0 并对其进行缩放,使其最长边在图形坐标中为 1。

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

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

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

于 2010-11-29T10:38:55.757 回答