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
- SQL
- 통계학
- Linux
- tensorflow
- 서평단
- 서평
- 한빛미디어서평단
- Tistory
- 월간결산
- Pandas
- 한빛미디어
- python visualization
- 시각화
- MATLAB
- 파이썬
- 리눅스
- 티스토리
- Blog
- 독후감
- Python
- 딥러닝
- Ga
- MySQL
- 텐서플로
- Google Analytics
- 블로그
- 매틀랩
- matplotlib
- Visualization
- 파이썬 시각화
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