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
- MySQL
- 한빛미디어서평단
- 딥러닝
- 블로그
- tensorflow
- 월간결산
- Ga
- 통계학
- Tistory
- 파이썬 시각화
- 리눅스
- Google Analytics
- Python
- 텐서플로
- 매틀랩
- 티스토리
- Pandas
- 한빛미디어
- MATLAB
- Linux
- 시각화
- python visualization
- Blog
- matplotlib
- SQL
- 독후감
- 파이썬
- 서평
- 서평단
- Visualization
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] add_patch 를 이용한 violinplot 구현하기 본문
0. 목표
- add_patch 를 이용한 violinplot 구현하기
1. seaborn 의 violinplot
import seaborn as sns
tips = sns.load_dataset("tips")
sns.violinplot(y="total_bill", data=tips)
2. 구현하기
1) library 호출
import matplotlib.pyplot as plt
import pandas as pd
import matplotlib.patches as patches
2) 구간 확보
- [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55]
bins = list(range(0, 60, 5))
3) 구간 적용
tips['level'] = pd.cut(tips['total_bill'], bins, labels=bins[:-1])
df = tips[['total_bill', 'level']]
4) 그룹화
group = df.groupby(by = ['level']).count()
group.reset_index(inplace = True)
5) 그림 그리기
# 도화지
fig, ax = plt.subplots()
fig.set_size_inches(15, 15)
ax.set_xticks([])
# 그림 그리기
ax.plot(0, 0)
for i in range(len(group['level'])):
ax.add_patch(
patches.Rectangle(
(-group['total_bill'][i], group['level'][i]),
2 * group['total_bill'][i],
5,
facecolor = 'blue',
fill = True
)
)
# y축 꾸미기
ax.set_ylabel('total_bill', fontsize = 30)
ax.tick_params(axis = 'y', labelsize = 20)
- 결과
3. 참고
- [Python Pandas] 동일 길이로 나누어서 범주 만들기 pd.cut(), 동일 개수로 나누어서 범주 만들기 pd.qcut()
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] fill_between 을 이용한 신뢰구간을 포함한 lineplot 구현하기 (0) | 2021.08.06 |
---|---|
[PYTHON] interpolate 로 violinplot 구현하기 (0) | 2021.08.05 |
[PYTHON] 상자 그림(box plot) 구현하기 (0) | 2021.08.03 |
[PYTHON] matplotlib 으로 FacetGrid 함수 구현하기 (0) | 2021.08.02 |
[PYTHON] TextArea 를 이용한 나만의 범례 만들기 (0) | 2021.07.31 |
Comments