Matplotlib에서 동일한 축으로 정사각형 플롯을 만드는 방법

Suraj Joshi 2023년1월30일
  1. 동일한 축으로 정사각형 플롯을 만드는set_aspect()
  2. 사각형 플롯을 생성하는axis()메소드
Matplotlib에서 동일한 축으로 정사각형 플롯을 만드는 방법

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

set_aspect를 동일하게 사용하여 동일한 축이있는 사각형 플롯

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

set_aspect general을 사용하여 동일한 축이있는 사각형 그림

사각형 플롯을 생성하는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 avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

관련 문장 - Matplotlib Axes