Matplotlib에서 원을 그리는 방법

  1. Matplotlib에서 원을 그리는 matplotlib.patches.Circle() 메소드
  2. Matplotlib에서 원을 그리는 원 방정식
  3. 산점도

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

산포도 플롯 원