1. pie 파이차트
< data2 >
1) 단일 파이차트
autopct, startangle, legend, loc
claim = data2.iloc[:3]
opinion = data2.iloc[3:]
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 5))
plt.pie(claim['percent'], labels=claim['author_ban_status'], autopct='%1.2f%%', startangle=90)
plt.legend(labels=claim['author_ban_status'], loc='best')
plt.show()
2) subplot 그리기
fig, ax = plt.subplots(1, 2, figsize=(10,5))
ax[0].pie(claim['percent'], labels=claim['author_ban_status'], autopct='%1.1f%%', startangle=90)
ax[0].set_title("Claim")
ax[0].legend(labels=claim['author_ban_status'], loc = 'left')
ax[1].pie(opinion['percent'], labels=claim['author_ban_status'], autopct='%1.1f%%', startangle=90,labeldistance=1.1)
ax[1].legend(labels=claim['author_ban_status'], loc = 'left')
ax[1].set_title("Opinion")
plt.show()
2. histplot 히스토그램 히스토플랏
< data >
1) sns
sns.histplot(data=?, bins=?, kde=?, color=?)
sns.histplot(data=?, x= ?, hue=?, bins=?, kde=?, color=?)
kde : 커널 밀도 추정 곡선 - 데이터의 분포를 부드러운 곡선으로 표현, 데이터가 어느 구간에 집중되어 있는지 부드럽게 표현, 밀도 잘 이해하도록 도와줌.
sns.histplot(data=data.video_duration_sec, kde=True)
정식으로 figure 그리고 시작하기
title 붙이기
bins 개수 조절하기
plt.figure(figsize=(10,5))
plt.title("video_druation_sec")
sns.histplot(data=data.video_duration_sec, kde=True, bins=20)
plt.show()
multiple : 시각적 표현방식 (겹쳐질지 , 나란히 표시될지)
- layer 겹쳐서 (기본값)
- stack 쌓여 (누적)
- fill 백분율로 쌓여
- doge 나란히
< multiple='layer' >
layer 겹쳐서 (기본값)
plt.figure(figsize=(10,5))
sns.histplot(data=data, x='claim_status', hue='verified_status'
, multiple='layer')
plt.show()
< multiple='stack' >
stack 쌓여 (누적)
plt.figure(figsize=(10,5))
sns.histplot(data=data, x='claim_status', hue='verified_status'
, multiple='stack')
plt.show()
< multiple='fill' >
fill 백분율로 쌓여
sns.histplot(data=data, x='claim_status', hue='verified_status'
, multiple='fill')
< multiple='dodge' >
doge 나란히
plt.figure(figsize=(10,5))
sns.histplot(data=data, x='claim_status', hue='verified_status'
, multiple='dodge')
plt.show()
shrink : 너비를 줄임 (막대나 kde 곡선이 겹칠 때 시각적으로 구분하기 쉽게 만들어줌)
- 기본값 shrink=1
- 값이 1보다 작을수록 kde 곡선의 너비가 더 좁아짐
- 0.8이면 막대의 너비가 80%로 축소
sns.histplot(data=data, x='claim_status', hue='verified_status'
, multiple = 'dodge'
, shrink = 0.8 )
< laye 겹침 (왼) / dodge 나란희 (오) >
hue : 구분
hue_order = [ 'a', 'b', 'c'] :순서
palette = {key: value, key:value } 색깔
red, green, blue, orange, purple, brown, pink, gray, olive, cyan
sns.histplot(data=data, x='claim_status',
hue='author_ban_status', hue_order = ['active', 'under review', 'banned'],
palette={'active':'green', 'under review': 'yellow', 'banned':'red'},
multiple='dodge', shrink=0.9)
plt.title('Claime status by author ban status- counts')
palette={'active':'olive', 'under review': 'orange', 'banned':'cyan'}
palette 테마로 설정 = deep, muted, bright, pastel, dark
sns.histplot(data=data, x='claim_status',
hue='author_ban_status', hue_order = ['active', 'under review', 'banned'],
palette = 'pastel',
multiple='dodge', shrink=0.9)
plt.title('pastel')
plt.show()
2) plt
data.hist()
data.video_duration_sec.hist()
3. boxplot 박스플랏
< data >
sns.boxplot(data=data)
sns.boxplot(x=?, data=data)
sns.boxplot(y=?, data=data)
sns.boxplot(x=?, y=?, data=data)
sns.boxplot(x=?, y=?, hue=?, data=data)
sns.boxplot(data.video_duration_sec)
plt.figure(figsize=(5,1))
plt.title('video_duration_sec')
sns.boxplot(data.video_duration_sec)
plt.show()
plt.figure(figsize=(5,1))
plt.title('video_duration_sec')
sns.boxplot(x= data.video_duration_sec)
plt.show()
plt.figure(figsize=(5,1))
plt.title('video_duration_sec')
sns.boxplot(y= data.video_duration_sec)
plt.show()
plt.figure(figsize=(10,5))
plt.title('video_duration_sec')
sns.boxplot(x= 'claim_status', y='video_duration_sec', data=data)
plt.show()
plt.figure(figsize=(10,5))
plt.title('video_duration_sec')
sns.boxplot(x= 'claim_status', y='video_duration_sec', hue='author_ban_status', data=data)
plt.show()
plt.xticks(fontsize=?)
plt.yticks(fontsize=?)
plt.xticks(fontsize=12)
4. scatterplot 산점도
sns.scatterplot(x=?, y=?, data=?, hue=?, s=?, alpha=?)
s: 크기(marker size)
alpha:투명도
sns.scatterplot(data=data, x='video_view_count', y='video_like_count', hue='claim_status')
sns.scatterplot(data=data, x='video_view_count', y='video_like_count', hue='claim_status', s= 20, alpha=0.5)
5. heatmap
상관관계 그래프를 히트맵으로 표현한 경우 많음.
sns.heatmap()
sns.heatmap(data_heatmap.corr(numeric_only = True))
annot= ? 주석
cmap =? 색상
cmap = 'crest'
sns.heatmap(
data_heatmap.corr(numeric_only = True),
annot=True, #주석
cmap="crest"
)
plt.title("heatmap")
plt.show()
cmap='viridis'
cmap= 'coolwarm'
6.
'파이썬 > 판다스' 카테고리의 다른 글
pandas 배우기 2편 데이터전처리 :빅분기 ADP 데이터분석 요약 (0) | 2024.10.11 |
---|---|
pandas 배우기 1편 EDA : 빅분기 ADP 데이터분석 시험 요약 (0) | 2024.10.11 |
판다스 컬럼 항목 일괄 변경, 특정 컬럼 기준 정렬, map 매핑 (0) | 2024.02.15 |
[판다스 10분 요약 10] 판다스 시각화(matplotlib, csv, HDF5, excel) (0) | 2022.09.06 |
[판다스 10분 요약 9] Grouping 데이터 그룹화 (0) | 2022.09.06 |