Подтвердить что ты не робот

Как выравнивать масштабы оси x и оси y в Python matplotlib?

Я хочу рисовать строки на графике SQUARE.

Масштабы x-axis и y-axis должны быть одинаковыми.

например. x находится в диапазоне от 0 до 10 и 10 см на экране. y также должен варьироваться от 0 до 10 и должен быть также 10 см.

Форма SQUARE должна поддерживаться, даже если я общаюсь с размером окна.

В настоящее время мой график масштабируется вместе с размером окна.

Как я могу это достичь?

UPDATE:

Я попробовал следующее, но это не сработало.

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

Ответ 1

Вам нужно немного покопаться в API, чтобы сделать это:

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()

документ для set_aspect

Ответ 2

plt.axis('scaled')

хорошо работает для меня

Ответ 3

Попробуйте что-то вроде:

import pylab as p
p.plot(x,y)
p.axis('equal')
p.show()

Ответ 4

Смотрите документацию на plt.axis(). Это:

plt.axis('equal')

не работает, поскольку изменяет границы оси, чтобы круги выглядели круглыми. То, что вы хотите, это:

plt.axis('square')

Это создает квадратный график с равными осями.