HOWTO · Matplotlib
Matplotlib에서 원을 그리는 방법
Matplotlib에서 패치 원, 원 방정식 및 산점도를 사용하여 원을 그릴 수 있습니다.
이 페이지의 내용
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()
색상을 채우지 않고 원을 그리려면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()
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()