You can use this function:
def set_aspect_ratio_log(plot, aspect_ratio):
x_min, x_max = plot.get_xlim()
y_min, y_max = plot.get_ylim()
return plot.set_aspect(aspect_ratio * ((math.log10(x_max / x_min)) / (math.log10(y_max / y_min))))
Hope this helps.
axis square? ;)