2010-11-27 105 views
2

我想将一个图形放在一个顶点上,但我需要图中的特定点与图中的特定点相对应。如何在Mathematica中控制图形上的图形平移?

我知道我可以使用

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

导入图形和创建我的使用情节显卡:

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

我想我需要通过写

叠加在人物情节

显示[{fig,p}]

但是我想控制res的大小不需要使用鼠标,同样可以对齐两个图形。

到需要用于此的命令任何指针将不胜感激。

回答

4

代替Show[]使用Overlay[]Alignment选项:

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

可以单独使用在任两者的ImageSize选项同时控制PlotOverlay的大小。请记住,您可以通过Import["filename.ext", "ImageSize"]获取您正在导入的图片的图片大小。因此,为了确保该地块是大小相同的图像,你可以这样做:

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

甜!谢谢,我会试一试。 – 2010-11-27 16:28:43

0

下会把图片“IMG”的左下角的封闭图形的0,0位置和规模等等它的最长边在图形坐标中是1。

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

如果你知道你想要把你的形象在Graphics坐标来讲,你做。如果你想要把它在某一点而言绝对坐标,你必须为图形第一坐标来翻译它,这意味着找到你的图形(PlotRangePlotRangePadding)的坐标系和坐标(和ImageSizeImagePadding)渲染图像的系统并找出映射。

我不得不解决类似的问题earlier和使用这些选项手动设置,定位和预期一样。