[Seaborn] 12. lineplot
사용할 데이터
import pandas as pd
import numpy as np
# 데이터 생성
np.random.seed(42)
# 기본 데이터 구조 생성
months = ['3월', '4월', '5월', '6월', '7월']
classes = ['A반', 'B반', 'C반', 'D반']
data = []
for class_name in classes:
# 기본 성적 수준 설정 (반마다 다르게)
base_score = np.random.normal(75, 5)
# 시간에 따른 변화 추가
for month in months:
# 약간의 상승 트렌드와 노이즈 추가
trend = months.index(month) * 2 # 시간에 따른 상승
noise = np.random.normal(0, 3) # 랜덤 변동
score = base_score + trend + noise
data.append({
'월': month,
'반': class_name,
'평균점수': round(score, 1)
})
# DataFrame 생성
df = pd.DataFrame(data)
1. lineplot 기본
sns.lineplot(data=df)
2. 컬럼 입력
sns.lineplot(data=df, x='월', y='평균점수')
3. 그룹화
sns.lineplot(data=df, x='월', y='평균점수', hue='반')
4. 마커 설정
sns.lineplot(
# 기본 데이터 설정: 데이터프레임 / X축 / Y축 / 색상구분
data=df, x='월', y='평균점수', hue='반',
# 마커 설정 : 사용 / 모양 / 사이즈
markers=True, marker='o', markersize=8)
5. 라인 스타일
sns.lineplot(
# 기본 데이터 설정: 데이터프레임 / X축 / Y축 / 색상구분
data=df, x='월', y='평균점수', hue='반',
markers=True, marker='o', markersize=8,
linestyle='-', linewidth=2)
plt.title('반별 평균 점수 변화', pad=15)
6. 색상
sns.lineplot(
# 기본 데이터 설정: 데이터프레임 / X축 / Y축 / 색상구분
data=df, x='월', y='평균점수', hue='반',
markers=True, marker='o', markersize=8,
linestyle='-', linewidth=2,
palette='muted', alpha=0.8
)
plt.title('반별 평균 점수 변화', pad=15)
7. 커스터마이징
# 스타일 설정
# plt.style.use('seaborn')
plt.figure(figsize=(10, 6))
# 라인플롯 그리기
sns.lineplot(
# 기본 데이터 설정: 데이터프레임 / X축 / Y축 / 색상구분
data=df, x='월', y='평균점수', hue='반',
# 마커 설정: 크기 / 스타일
markers=True, marker='o', markersize=8,
# 선 설정: 스타일 / 두께
linestyle='-', linewidth=2,
# 스타일 설정: 팔레트 / 투명도
palette='Set2', alpha=0.8
)
# 그래프 커스터마이징
plt.title('반별 평균 점수 변화', pad=15, size=15)
plt.xlabel('월', size=12)
plt.ylabel('평균 점수', size=12)
# 격자 설정
plt.grid(True, alpha=0.3)
# 범례 설정
plt.legend(title='반', title_fontsize=12, fontsize=10)
정리
sns.lineplot(
# 기본 데이터 설정: 데이터프레임 / X축 / Y축 / 색상구분
data=df, x='col1', y='col2', hue='col3',
# 마커 설정: 표시 / 종류 / 크기
markers=True, marker='o', markersize=8,
# 선 설정: 스타일 / 두께
linestyle='-', linewidth=2,
# 스타일 설정: 팔레트 / 투명도
palette='muted', alpha=0.8
)
스니펫
{
"Seaborn Lineplot Template": {
"prefix": "sns_line",
"body": [
"sns.lineplot(",
" # 기본 데이터 설정: 데이터프레임 / X축 / Y축 / 색상구분",
" data=${1:df}, x='${2:col1}', y='${3:col2}', hue='${4:col3}',",
"",
" # 마커 설정: 표시 / 종류 / 크기",
" markers=True, marker='${5:o}', markersize=${6:8},",
"",
" # 선 설정: 스타일 / 두께",
" linestyle='${7:-}', linewidth=${8:2},",
"",
" # 스타일 설정: 팔레트 / 투명도",
" palette='${9:muted}', alpha=${10:0.8}",
")"
],
"description": "Create a Seaborn lineplot with common parameters"
}
}
'Data Visualization > Seaborn' 카테고리의 다른 글
[Seaborn] 13. pointplot (0) | 2024.11.16 |
---|---|
[Seaborn] 11. swarmpplot (0) | 2024.11.15 |
[Seaborn] 10. stripplot (0) | 2024.11.15 |
[Seaborn] 9. countplot (0) | 2024.11.15 |
[Seaborn] 8. pairplot (0) | 2024.11.15 |
[Seaborn] 7. jointplot (0) | 2024.11.15 |
[Seaborn] 6. heatmap (0) | 2024.11.15 |
댓글