Matplotlib에서 원을 그리는 방법

Suraj Joshi 2023년1월30일
  1. Matplotlib에서 원을 그리는 matplotlib.patches.Circle() 메소드
  2. Matplotlib에서 원을 그리는 원 방정식
  3. 산점도
Matplotlib에서 원을 그리는 방법

Matplotlib에서 원을 그리려면 다음 방법 중 하나를 사용할 수 있습니다.

matplotlib.patches.Circle() 메소드

  • 원 방정식
  • 점의 산포도

Matplotlib에서 원을 그리는 matplotlib.patches.Circle() 메소드

통사론:

matplotlib.patches.Circle((x, y), r=5, **kwargs)

여기서(x, y)는 원의 중심이고r은 기본값이5 인 반지름입니다.

CircleArtist의 서브 클래스이므로add_artist 메소드로 축에Circle을 추가해야합니다.

import matplotlib.pyplot as plt

figure, axes = plt.subplots()
draw_circle = plt.Circle((0.5, 0.5), 0.3)

axes.set_aspect(1)
axes.add_artist(draw_circle)
plt.title("Circle")
plt.show()

matplotlib.patches.Circle() 메소드를 사용하여 원 플롯

색상을 채우지 않고 원을 그리려면fill 매개 변수를 False로 설정해야합니다.

import matplotlib.pyplot as plt

figure, axes = plt.subplots()
draw_circle = plt.Circle((0.5, 0.5), 0.3, fill=False)

axes.set_aspect(1)
axes.add_artist(draw_circle)
plt.title("Circle")
plt.show()

색상을 채우지 않고 matplotlib.patches.Circle() 메서드로 원을 그립니다

gcf()gca()함수를 사용하여 원을 기존 플롯에 빠르게 연결하여 위 코드를 더 간단하게 만들 수 있습니다.

import matplotlib.pyplot as plt

figure, axes = plt.subplots()
draw_circle = plt.Circle((0.5, 0.5), 0.3, fill=False)

plt.gcf().gca().add_artist(draw_circle)
plt.title("Circle")
axes.set_aspect(1)
plt.show()

더 간단한 원 그리기

Matplotlib에서 원을 그리는 원 방정식

원의 파라 메트릭 방정식

원의 파라 메트릭 방정식은x=r*cos(theta)y=r*sin(theta)입니다.

import numpy as np
import matplotlib.pyplot as plt

theta = np.linspace(0, 2 * np.pi, 100)

radius = 0.3

a = radius * np.cos(theta)
b = radius * np.sin(theta)

figure, axes = plt.subplots(1)

axes.plot(a, b)
axes.set_aspect(1)

plt.title("Circle using Parametric Equation")
plt.show()

원의 파라 메트릭 방정식으로 원을 그립니다

원 방정식의 중심 반경 형태

원반의 중심 반경 형태를 사용하여 원을 그릴 수도 있습니다.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-0.5, 0.5, 100)
y = np.linspace(-0.5, 0.5, 100)

a, b = np.meshgrid(x, y)

C = a ** 2 + b ** 2 - 0.2

figure, axes = plt.subplots()

axes.contour(a, b, C, [0])
axes.set_aspect(1)

plt.show()

원의 일반 방정식으로 플롯 원

산점도

scatter()메소드를 사용하여 Matplotlib에 원을 그리고s 매개 변수를 사용하여 반지름을 조정할 수도 있습니다. 원의 넓이는pi/4*s입니다.

import matplotlib.pyplot as plt

plt.scatter(0, 0, s=4000)
plt.title("Circle")

plt.xlim(-0.75, 0.75)
plt.ylim(-0.75, 0.75)

plt.show()

산포도 플롯 원

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn