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
- 서평
- Google Analytics
- Pandas
- Python
- MATLAB
- 티스토리
- matplotlib
- 독후감
- Tistory
- Blog
- SQL
- 통계학
- python visualization
- Linux
- 서평단
- 파이썬
- Visualization
- 텐서플로
- 딥러닝
- 한빛미디어
- 시각화
- 월간결산
- Ga
- 리눅스
- tensorflow
- 한빛미디어서평단
- 블로그
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] floweaver 를 이용한 sankey 그래프 그리기 본문
0. 목표
- floweaver 를 이용한 sankey 그래프 그리기
1. 실습
1) library 설치
- chrome 에서 실습할 것, safari 에서는 위젯 표출 시 에러 발생
!pip install ipysankeywidget
!pip install floweaver
2) 데이터 생성
- source : 어디에서
- target : 어디로
- type : 무엇을
- value : 얼마만큼 보내는가
flows = pd.DataFrame({
'source' : ['A', 'B', 'A', 'B', 'A', 'C', 'B', 'D', 'A', 'A'],
'target' : ['a1', 'a1', 'a2', 'a1', 'a3', 'a5', 'a4', 'a2', 'a3', 'a3'],
'type' : ['pv', 'pv', 'pv', 'pv', 'pv', 'pv', 'pv', 'pv', 'pv', 'pv'],
'value' : [1, 3, 7, 3, 10, 12, 45, 38, 2, 11]
})
3) 그룹화
- floweaver 를 사용하기 위해서는 중복된 데이터가 있으면 안되기에 그룹화 실시
flows2 = flows.groupby(by = ['source', 'target', 'type']).agg({'value' : sum})
flows2.reset_index(inplace = True)
4) 그림 그리기
- 튜토리얼에서는 records 를 입력하나, 어떤 문자를 넣어야 되는지는 잘 모르겠음... 아무 문자나 넣으면 또 안됨...
SankeyWidget(links=flows2.to_dict('r'))
- 마우스를 그래프에 올려놓으면 해당 흐름의 정보가 표출
2. 참고
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] indicate_inset_zoom 을 이용한 줌 인 (0) | 2021.08.12 |
---|---|
[PYTHON] table 을 사용하여 그래프와 테이블을 같이 그리기 (0) | 2021.08.11 |
[PYTHON] fill_between 을 이용한 신뢰구간을 포함한 lineplot 구현하기 (0) | 2021.08.06 |
[PYTHON] interpolate 로 violinplot 구현하기 (0) | 2021.08.05 |
[PYTHON] add_patch 를 이용한 violinplot 구현하기 (0) | 2021.08.04 |
Comments