[Python] 22. seaborn “산점도”에 다각형 spec line 추가하기

Seaborn을 사용하여 “산점도”에 다각형(spec) line을 추가하려면 sns.regplot() 함수를 사용하면 됩니다.
이 함수는 “산점도”를 그리는 동시에 선형 회귀 선을 추가하는데 사용되며, 다각형(spec) line을 그리기에도 적용됩니다.
아래는 Seaborn을 사용하여 “산점도”와 다각형(spec) line을 추가하는 예시입니다.


sns.regplot() 함수

import seaborn as sns
import matplotlib.pyplot as plt

# 데이터 생성
x = [1, 2, 3, 4, 5]
y = [2, 4, 3, 6, 5]

# 산점도 그리기
sns.regplot(x=x, y=y, scatter_kws={'s': 100})

# 다각형(spec) line 추가
polygon_coords = list(zip(x, y)) + [(x[0], y[0])]  # 다각형을 닫기 위해 첫 좌표를 다시 추가
polygon_x, polygon_y = zip(*polygon_coords)
plt.plot(polygon_x, polygon_y, 'b-')

# 그래프 보여주기
plt.show()

출력 결과

sns.regplot() 함수 출력 결과

위 코드에서 sns.regplot()을 사용하여 산점도를 그리고 있습니다.
scatter_kws={'s': 100}는 산점도의 점 크기를 설정하는 옵션입니다.

다음으로, 다각형(spec) line을 그리기 위해 list(zip(x, y)) + [(x[0], y[0])]를 사용하여 다각형의 꼭짓점 좌표를 리스트로 만들고, 이를 plt.plot()을 사용하여 그립니다.
'b-'는 파란색 선으로 연결하라는 의미입니다.

이렇게 하면 Seaborn의 산점도와 다각형(spec) line이 함께 그려집니다.
필요에 따라 산점도의 스타일과 다각형(spec) line의 스타일을 변경할 수 있습니다.

plt.fill() 함수

또 다른 방법은 Seaborn의 sns.scatterplot()과 Matplotlib의 plt.fill() 함수를 사용하는 것입니다.
sns.scatterplot()은 산점도를 그리는데 사용되고, plt.fill() 함수는 다각형(spec) 영역을 채우는데 사용됩니다.
아래는 이 방법으로 산점도에 다각형(spec)을 추가하는 예시입니다.

import seaborn as sns
import matplotlib.pyplot as plt

# 데이터 생성
x = [1, 2, 3, 4, 5]
y = [2, 4, 3, 6, 5]

# 산점도 그리기
sns.scatterplot(x=x, y=y, s=100)

# 다각형(spec) 영역 채우기
polygon_coords = list(zip(x, y)) + [(x[0], y[0])]  # 다각형을 닫기 위해 첫 좌표를 다시 추가
polygon_x, polygon_y = zip(*polygon_coords)
plt.fill(polygon_x, polygon_y, alpha=0.3)

# 그래프 보여주기
plt.show()

출력 결과

plt.fill() 함수 출력 결과

위 코드에서 sns.scatterplot()을 사용하여 산점도를 그립니다. s=100은 산점도의 점 크기를 설정하는 옵션입니다.

그리고 plt.fill() 함수를 사용하여 다각형(spec) 영역을 채웁니다.
fill() 함수의 첫 번째 인자로 x좌표 리스트, 두 번째 인자로 y좌표 리스트를 전달하여 다각형(spec) 영역을 생성합니다.
alpha=0.3은 다각형(spec) 영역의 투명도를 설정하는 옵션으로, 0에서 1 사이의 값으로 지정할 수 있습니다.

위 코드를 실행하면 Seaborn의 산점도와 다각형(spec) 영역이 함께 그려집니다.
두 가지 방법 모두 Seaborn과 Matplotlib을 통해 다각형(spec)을 시각화할 수 있습니다. 원하는 스타일과 옵션을 선택하여 사용하시면 됩니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤