How can I get Overlay to position graphics according to coordinates?
You can get the desired result using a combination of ImageSize
in the original image and the Alignment
option in Overlay
. (I am not 100% sure why the alignment isn't quite right.)
graphics1 =
Graphics[{Red, Disk[{0, 0}, 3, {0, Pi/4}]}, ImageSize -> 100];
graphics2 =
Graphics[{Blue, Disk[{0, 0}, 10, {0, Pi/2}]}, ImageSize -> 250];
Overlay[{graphics2, graphics1}, Alignment -> Bottom]
The issue here is that overlay will set the sizes of the two images to be the same if it has no information requiring it to do otherwise. So the coordinate systems of the two graphics can differ. This is why Show
works more seamlessly here: it forces the two graphics to have the same coordinate system.
Can you use Show
? It produces the same thing as your first plot:
Graphics1 = Graphics[{Red, Disk[{0, 0}, 3, {0, Pi/4}]}];
graphics2 = Graphics[{Blue, Disk[{0, 0}, 10, {0, Pi/2}]}];
Show[{graphics2, graphics1}]
If you want to add other options, it works as well:
Show[{graphics2, graphics1}, PlotRange->{{-10, +10}, {-10, +10}}]
You should note that Show
is order dependent. It draws it in the order that's specified