scatter plot 그래프에 spec(특정한 선)라인을 그리기 위해 원을 추가하는 방법에 대해 다양한 예제와 상세한 설명을 하겠습니다.
이때, 원을 추가하기 위해서는 matplotlib
라이브러리를 사용합니다.
기본적인 scatter plot에 원 추가하기
import matplotlib.pyplot as plt
import numpy as np
# 샘플 데이터 생성
x = np.random.rand(50)
y = np.random.rand(50)
# scatter plot 그리기
plt.scatter(x, y)
# 원의 중심과 반지름 설정
center = (0.5, 0.5)
radius = 0.2
# 원 그리기
circle = plt.Circle(center, radius, edgecolor='red', facecolor='none')
# 그래프에 원 추가
plt.gca().add_patch(circle)
# 그래프 표시
plt.gca().set_aspect('equal', adjustable='box')
plt.show()
출력 결과
위 예제에서는 numpy
라이브러리를 사용하여 무작위 샘플 데이터 x
와 y
를 생성하고, scatter plot 그래프를 그립니다. 이후 Circle 클래스를 사용하여 원을 정의하고, plt.gca().add_patch()
를 사용하여 원을 그래프에 추가합니다.
여러 개의 원을 추가하는 scatter plot 그래프
import matplotlib.pyplot as plt
import numpy as np
# 샘플 데이터 생성
x = np.random.rand(50)
y = np.random.rand(50)
# scatter plot 그리기
plt.scatter(x, y)
# 여러 개의 원의 중심과 반지름 설정
centers = [(0.2, 0.8), (0.7, 0.3), (0.4, 0.6)]
radii = [0.1, 0.15, 0.2]
# 여러 개의 원 그리기
for center, radius in zip(centers, radii):
circle = plt.Circle(center, radius, edgecolor='green', facecolor='none')
plt.gca().add_patch(circle)
# 그래프 표시
plt.gca().set_aspect('equal', adjustable='box')
plt.show()
출력 결과
위 예제에서는 centers
리스트와 radii
리스트를 사용하여 여러 개의 원을 그립니다. zip()
함수를 사용하여 centers
와 radii
를 하나씩 쌍으로 가져와 원들을 그래프에 추가합니다.
scatter plot과 함께 원과 선 그리기
import matplotlib.pyplot as plt
import numpy as np
# 샘플 데이터 생성
x = np.linspace(0, 10, 100)
y = np.sin(x)
# scatter plot 그리기
plt.scatter(x, y, label='sin(x)')
# 원의 중심과 반지름 설정
center = (5, 0)
radius = 0.5
# 원 그리기
circle = plt.Circle(center, radius, edgecolor='blue', facecolor='none')
plt.gca().add_patch(circle)
# 수평 spec 라인 그리기
plt.axhline(y=0, color='red', linestyle='--', label='y=0')
# 그래프 표시
plt.legend()
plt.show()
출력 결과
위 예제에서는 numpy
라이브러리를 사용하여 sin(x)
그래프를 그리고, 그래프 위에 원과 y=0
인 수평 spec 라인을 함께 표시합니다.
원과 spec 라인을 그리기 위해서는 plt.axhline()
함수를 사용합니다.
이렇게 scatter plot 그래프에 원을 추가하고, 원과 함께 spec 라인을 그리는 방법에 대해 다양한 예제를 설명하였습니다.
이를 활용하여 다양한 데이터 시각화를 구현해보세요.
[Python] 16. 여러 파일로 분리하여 함수를 구성하고 사용하는 방법
파이썬에서 여러 파일로 분류하여 함수를 구성하고 호출하는 방법은 코드를 모듈화하고 유지보수를 용이하게 하는데 도움이 됩니다. 효율적인 구조를 위해서는 몇 가지 일반적인 권장 사항을 따르는 것이 좋습니다.…