¿Cómo hago un cuadrado de la dispersión de matplotlib?

En gnuplot puedo hacer esto para obtener un gráfico cuadrado:

set size square 

¿Cuál es el equivalente en matplotlib? He intentado esto:

 import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt plt.rcParams['backend'] = 'TkAgg' x = [0, 0.2, 0.4, 0.6, 0.8] y = [0, 0.5, 1, 1.5, 2.0] colors = ['k']*len(x) plt.scatter(x, y, c=colors, alpha=0.5) plt.axes().set_aspect('equal', adjustable='datalim') plt.xlim((0,2)) plt.ylim((0,2)) plt.grid(b=True, which='major', color='k', linestyle='--') plt.savefig('{}.png'.format(rsID), dpi=600) plt.close() plt.clf() 

Obtengo una cuadrícula cuadrada, pero la ttwig en sí no es cuadrada. ¿Cómo puedo hacer que el rango x pase de 0 a 2 y hacer el gráfico de la plot? introduzca la descripción de la imagen aquí

Puedes hacerlo así:

 import matplotlib.pyplot as plt fig, ax = plt.subplots() x = [0, 0.2, 0.4, 0.6, 0.8] y = [0, 0.5, 1, 1.5, 2.0] colors = ['k']*len(x) ax.scatter(x, y, c=colors, alpha=0.5) ax.set_xlim((0,2)) ax.set_ylim((0,2)) x0,x1 = ax.get_xlim() y0,y1 = ax.get_ylim() ax.set_aspect(abs(x1-x0)/abs(y1-y0)) ax.grid(b=True, which='major', color='k', linestyle='--') fig.savefig('test.png', dpi=600) plt.close(fig) 

introduzca la descripción de la imagen aquí

Establece el tamaño en la figura:

 import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt plt.rcParams['backend'] = 'TkAgg' x = [0, 0.2, 0.4, 0.6, 0.8] y = [0, 0.5, 1, 1.5, 2.0] colors = ['k']*len(x) fig = plt.figure(figsize=(6,6)) # default is (8,6) ax = fig.add_subplot(111, aspect='equal') ax.scatter(x, y, c=colors, alpha=0.5) ax.set_xlim((0,2)) ax.set_ylim((0,2)) ax.grid(b=True, which='major', color='k', linestyle='--')