/ / Taki sam rozmiar osi, jeśli jedna z nich ma parametr set_aspectratio na „równy” - python, matplotlib, format obrazu

Ten sam rozmiar osi, jeśli jeden z nich ma set_aspectratio na "równy" - python, matplotlib, aspect-ratio

Wyobraź sobie następującą prostą sytuację:

import numpy as np
import matplotlib.pyplot as plt

fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.plot(np.arange(10))
ax1.set_aspect("equal")

ax2.plot(np.arange(10), np.arange(0, 1, .1))

plt.show()

Przykładowy rysunek

Jakie byłoby najlepsze / najłatwiejsze rozwiązanie, aby ax2 miał taką samą szerokość / wysokość jak ax1, bez względu na proporcje ax2?

Odpowiedzi:

1 dla odpowiedzi № 1

W konkretnym przypadku możesz ustawić współczynnik kształtu ax2 do 10, np. poniżej:

import numpy as np
import matplotlib.pyplot as plt

fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.plot(np.arange(10))
ax1.set_aspect("equal")

ax2.plot(np.arange(10), np.arange(0, 1, .1))

# Determining the ranges
x1,x2 = ax2.get_xlim()
y1,y2 = ax2.get_ylim()
xRange = x2-x1
yRange = y2-y1

ax2.set_aspect(xRange/yRange)

plt.show()

wprowadź opis obrazu tutaj

Twoje zdrowie