Matplotlib에서 동일한 축으로 정사각형 플롯을 만드는 방법
Suraj Joshi
2023년1월30일
set_aspect()
메소드를 사용하여 플롯의 가로 세로 비율을 정사각형 플롯으로 만들 수 있으며axis()
메소드를 사용하여 Matplotlib에서 동일한 축으로 정사각형 플롯을 만들 수도 있습니다.
동일한 축으로 정사각형 플롯을 만드는set_aspect()
matplotlib.axes.Axes.set_aspect()
함수를 사용하여 종횡비를 설정할 수 있습니다. 함수에서 "equal"
을 종횡비로 사용하면 데이터 포인트에서 X
축 및 Y
축의 플롯 단위에 대해 동일한 스케일링으로 플롯을 얻습니다.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_subplot(111)
plt.plot(x, y)
plt.xlim(-3, 3)
plt.ylim(-3, 3)
ax.set_aspect("equal", adjustable="box")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
plt.xlim(-3, 3)
plt.ylim(-3, 3)
ax.set_aspect("equal")
X
축과 Y
축이 동일한 범위를 갖도록 설정합니다. 그런 다음ax.set_aspect('equal')
는 두 축을 동일하게 설정합니다.
위의 방법은 두 축의 범위가 동일하게 설정된 경우에만 제곱 플롯을 생성합니다. 일반적인 경우 정사각형 플롯을 생성하려면 다음 명령을 사용하여 종횡비를 수동으로 설정해야합니다.
axes.set_aspect(1.0 / axes.get_data_ratio())
axes.get_data_ratio()
는 원시 플롯 데이터의 비율을 가져옵니다. 축의 한계를 수동으로 설정하지 않고 축을 동일하게 만들기 위해 왕복 값은 set_aspect()
로 전달됩니다.
암호:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_subplot(111)
plt.plot(x, y)
ax.set_aspect(1.0 / ax.get_data_ratio(), adjustable="box")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
사각형 플롯을 생성하는axis()
메소드
"square"
를 matplotlib.pyplot.axis()
에 대한 인수로 전달하면 사각형 그림이 생성됩니다. 여기서 두 축이 차지하는 범위는 그림의 길이와 같습니다.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y = np.sin(x)
plt.plot(x, y)
plt.axis("square")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
Warning
이 솔루션의 축 범위는 자동으로 선택됩니다.
ax.set_aspect('equal', adjustable='datalim')
와 같습니다. 사용자가 설정 한 명시 적 축 제한은 고려되지 않습니다.작가: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn