Matplotlib에서 원을 그리는 방법
Suraj Joshi
2023년1월30일
Matplotlib
Matplotlib Artist
Matplotlib에서 원을 그리려면 다음 방법 중 하나를 사용할 수 있습니다.
matplotlib.patches.Circle() 메소드
- 원 방정식
- 점의 산포도
Matplotlib에서 원을 그리는 matplotlib.patches.Circle() 메소드
통사론:
matplotlib.patches.Circle((x, y), r=5, **kwargs)
여기서(x, y)는 원의 중심이고r은 기본값이5 인 반지름입니다.
Circle은Artist의 서브 클래스이므로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()
-method.webp)
색상을 채우지 않고 원을 그리려면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()
-method-without-filling-color.webp)
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()

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
작가: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn