2010-11-27 3 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

달콤한! 고마워. 한번 해봐. 플롯 크기가 다양하다는 점에서 –

+0

에 대해 PlotRangePadding, ImagePadding 및 ImageMargin을 수정 해 보셨습니까? –

+0

Mathematica v 34.5가 플롯/그래프/이미지 합성에서 모든 결함을 수정한다고 생각합니다. ( –

0

이 다음은 포함하는 그래픽의 위치 0,0에서 이미지 "IMG"의 왼쪽 하단을 넣어 것은 그래서 그것을 확장 그것의 가장 긴면은 Graphics 좌표에서 1입니다.

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

당신이 Graphics 좌표의 측면에서 이미지를 넣어 원하는 장소를 안다면

, 당신이 완료됩니다. 절대 좌표의 관점에서 어느 점에 놓고 싶다면 먼저 그래픽 좌표로 변환해야합니다. 즉, 그래픽 ( PlotRangePlotRangePadding)의 좌표계와 렌더링 된 이미지의 좌표계 ( ImageSizeImagePadding)를 찾는 것입니다. 그리고 그 매핑을 알아내는 것.

나는 비슷한 문제를 해결해야만했다. earlier 이러한 옵션을 수동으로 설정하면 예상대로 위치가 조정되었다.

관련 문제