This tutorial is more closely related to your problem Aspect ratio and size control tutorial
You should use the column or row size Aspect like you did, but set it to the actual data aspect that you have, not to 1 (your axis is not square) and you don’t need to set aspect = DataAspect() at all. You can determine the limits from ax.finallimits, there’s no exported function to do that right now.