2010-11-27 157 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和使用這些選項手動設置,定位和預期一樣。