Что-то, что еще не было упомянуто, но которое может дать вам квадратный вывод, - это просто установить размер фигуры, используя figsize=(x,y)
при построении фигуры. Например,
import matplotlib.pyplot as plt
import numpy as np
import random
x = np.arange(0, 10, 0.2)
y = np.zeros((len(x)))
for ii in range(len(x)):
y[ii] = random.random()*20
fig = plt.figure(figsize=(5,5), dpi=150)
plt.scatter(x, y, label="Data", marker="+")
plt.title("Title")
plt.legend(bbox_to_anchor=(1.01, 0.5), loc="center left", borderaxespad=0.)
plt.show()

Важное примечание Этот метод не создает квадратный график, если также используется plt.tight_layout()
- при этом всегда будут сжиматься метки и все, что добавляется (заголовок, легенда, метки осей и т. Д.) в область, созданную figsize
, тем самым уменьшая соотношение сторон ниже 1: 1.