파이썬
원형 그래프 그리기
초롱씨
2023. 12. 5. 17:02
728x90
반응형
### 긍정,부정,기타에 대한 원형 그래프 시각화 하기
# 바율이 가장 높을 경우 : pink색, 두번째: gold색, 세번째 : whitesmoke색
# subplot 사용
fig, axs = plt.subplots(5,2, figsize = (15,25))
axs= axs.flatten()
## 바율별 색상
colors = ["pink", "gold", "whitesmoke"]
## 레벨정의
labels_dict = {0:"부정(1~4점)", 1:"긍정(8~10점)", 2:"기타(5~7점)"}
### 평점 평균에 대한 원형 그래프 그리기
for title, ax in zip(avg_score.keys(), axs):
# 영화별 전체건수 필터링하기
num_reviews = len(df_new[df_new["title"]==title])
# print (f"num_reviews = {num_reviews}")
## label 컬럼의 범주별로 갯수 필터링하기
values = df_new[df_new["title"]==title]["label"].value_counts()
# print(f"values = {values}")
## 원형 그래프에 표시할 라벨값 정의하기
# 영화별로 긍정 또는 부정 또는 기타 중에 하나라도 없으면 처리가 필요함
label_list = df_new[df_new["title"]==title]["label"].unique()
labels =[]
for key in label_list:
# 영화별 실제 존재하는 긍정 부정 기타 라벨 정의하기
labels.append(labels_dict[key])
# 각 그래프에 제목넣기
ax.set_title(f"{title} ({num_reviews}명)", fontsize=15 , fontweight=700)
## 원형(pie) 그래프 그리기
ax.pie(values,
# 원형그래프에 표시할 라벨지정
labels=labels,
# 원형 그래프에 표시할 값과 소수점 자리수 지정
autopct="%1.1f%%",
# 원형 그래프 각 영역의 색상 지정
colors=colors,
# 그림자 효과
shadow=True,
# 그래프의 시작 위치를 12시 방향으로
startangle=90
)
# 이미지 저장하기
plt.savefig("./img/긍정_부정_원형그래프_시각화.png")
plt.show()
### 최종 전처리된 데이터는 파일로 관리하기
# 파일명 df_new.csv, 인덱스는 포함하지 않기
# 저장 위치 : data 폴더
df_new.to_csv("./data/df_new.csv", index=False)
728x90
반응형