我想在图形上放置一个图形,但我需要图形中的特定点与图形中的特定点相对应。
我知道我可以使用
fig=Import["filename.ext","Graphics"];
我使用图形创建我的情节:
p=Plot[Graphics[Points[data]]];
我想我需要通过写来覆盖图上的情节
显示[{fig,p}]
但是我想在不使用鼠标的情况下控制结果图形的大小,并且同样能够对齐两个图形。
任何指向为此所需命令的指针将不胜感激。
我想在图形上放置一个图形,但我需要图形中的特定点与图形中的特定点相对应。
我知道我可以使用
fig=Import["filename.ext","Graphics"];
我使用图形创建我的情节:
p=Plot[Graphics[Points[data]]];
我想我需要通过写来覆盖图上的情节
显示[{fig,p}]
但是我想在不使用鼠标的情况下控制结果图形的大小,并且同样能够对齐两个图形。
任何指向为此所需命令的指针将不胜感激。
而不是Show[]
使用Overlay[]
和Alignment
选项:
Overlay[{fig, p}, Alignment -> {-0.75, 0.33}] (* x,y values in [-1,1] *)
您可以通过使用两者中的任何一个中的选项来单独控制两者Plot
的大小。请记住,您可以通过 获取要导入的图形的图像大小。因此,要确保绘图与您可以执行的图像大小相同:Overlay
ImageSize
Import["filename.ext", "ImageSize"]
size = Import["filename.ext", "ImageSize"];
p = Plot[Graphics[Points[data]], ImageSize->size];
下面将图像“img”的左下角放在封闭图形的位置 0,0 并对其进行缩放,使其最长边在图形坐标中为 1。
Show[plot, Graphics[Inset[img, {0, 0}, {0, 0}, 1]]]
如果您知道要根据Graphics
坐标放置图像的位置,那么您就完成了。如果你想把它放在绝对坐标的某个点上,你必须先把它转换成图形坐标,这意味着找到你的图形坐标系(PlotRange
和PlotRangePadding
)和渲染图像的坐标系(ImageSize
和ImagePadding
),并弄清楚映射。
我必须更早解决类似的问题,并且手动设置这些选项,定位按预期工作。