How to equalize the scales of x-axis and y-axis in Python matplotlib?

I wish to draw lines on a SQUARE graph.

The scales of x-axis and y-axis should be the same.

e.g. x ranges from 0 to 10 and it is 10cm on the screen. y has to also range from 0 to 10 and has to be also 10 cm.

The SQUARE shape has to be maintained, even if I mess around with the window size.

Currently, my graph scales together with the window size.

How may I achieve this?

UPDATE:

I tried the following, but it did not work.

    plt.xlim(-3, 3)
    plt.ylim(-3, 3)
    plt.axis('equal')

You need to dig a bit deeper into the api to do this:

    from matplotlib import pyplot as plt
    plt.plot(range(5))
    plt.xlim(-3, 3)
    plt.ylim(-3, 3)
    plt.gca().set_aspect('equal', adjustable='box')
    plt.draw()

doc for set_aspect

From: stackoverflow.com/q/17990845