Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 한빛미디어
- 한빛미디어서평단
- 서평
- MATLAB
- 독후감
- Ga
- 텐서플로
- 시각화
- 월간결산
- 딥러닝
- Visualization
- Blog
- 매틀랩
- SQL
- tensorflow
- MySQL
- 서평단
- 파이썬
- Tistory
- 리눅스
- Google Analytics
- 티스토리
- 블로그
- Linux
- matplotlib
- 통계학
- 파이썬 시각화
- Pandas
- python visualization
- Python
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] 동일한 알파벳에 동일한 색을 매핑하여 파이차트 그리기 본문
0. 목표
- 동일한 알파벳에 동일한 색을 매핑하여 파이차트 그리기
1. 실습
1) library 호출
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
2) 데이터 생성
df = pd.DataFrame({'category' : ['a', 'b', 'c', 'd', 'e', 'f'], 'num' : [1, 4, 7, 9, 3, 7]})
df2 = pd.DataFrame({'category' : ['e', 'g', 'c', 'b', 'a'], 'num' : [4, 2, 1, 6, 3]})
3) 파이 차트 그리기
fig, ax = plt.subplots(1, 2)
fig.set_size_inches(15, 10)
ax[0].pie(df['num'], labels = df['category'])
ax[1].pie(df2['num'], labels = df2['category'])
4) 데이터 정렬하기
- 숫자 크기별로 정렬하기
df_copy = df.copy()
df2_copy = df2.copy()
df_copy.sort_values('num', ascending = False, inplace = True)
df2_copy.sort_values('num', ascending = False, inplace = True)
df_copy.reset_index(drop = True, inplace = True)
df2_copy.reset_index(drop = True, inplace = True)
5) 카테고리 추출하기
- 두 데이터 프레임의 알파벳들을 모으기
df_category = df_copy['category']
df2_category = df2_copy['category']
category = list(set(list(df_copy['category']) + list(df2_copy['category'])))
6) 카테고리와 동일한 크기의 파레트 만들기
colors = sns.color_palette('hls',len(category))
7) 인덱스를 이용하여 알파벳마다 색 매핑하기
df_color = []
for i in df_category:
df_color.append(colors[category.index(i)])
df2_color = []
for i in df2_category:
df2_color.append(colors[category.index(i)])
8) 그림 그리기
fig, ax = plt.subplots(1, 2)
fig.set_size_inches(15, 10)
ax[0].pie(df_copy['num'],
labels = df_copy['category'],
colors = df_color,
counterclock = False,
startangle = 90)
ax[1].pie(df2_copy['num'],
labels = df2_copy['category'],
colors = df2_color,
counterclock = False,
startangle = 90);
2. 참고
- 색상 바꾸기
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] 음영이 포함된 라인차트 그리기 (0) | 2022.03.16 |
---|---|
[python] 연령 별 연봉 그래프 그리기 (0) | 2022.02.24 |
[PYTHON] 특정 그룹에 해당하는 bar 들만 색칠하기 (0) | 2022.01.05 |
[Python] barh 그래프에서 특정 bar만 다른 색으로 칠하기 (0) | 2022.01.04 |
[PYTHON] 정해진 구역에 패턴 채우기 (0) | 2021.12.19 |
Comments