Would it be time consuming to have the zoom choose an x,y to be the center of the final zoom?
If you just want it to zoom without panning around, you can simply omit the set_animate() function call.
Upon reflection set_animate() is probably a misleading name, but it will only set the panning animation, which is handled separately from the zoom animation.
Also, while it is not possible to set x,y coordinates for the zoom direction, you can use the set_anchor() function to make the zoom to go towards one of the edges instead of the center of the image.
The ::Anchor table includes the following members: Left, Top, Center, Centre (same as Center), Right, Bottom.
So you could call:
my_art.set_anchor(::Anchor.Left);
and it will make the zoom go towards the left edge of the image.
Is that what you are looking for?