[Python EDA 7] pandasecharts

김미연·2023년 8월 31일
0
post-thumbnail

1. pandasecharts이란

- 데이터 프레임에 바로 함수를 적용해 간결한 코드로 판다스의 시각화가 가능
- 가급적 기반 라이브러리를 사용하고 않고 해당 판다스 시각화 라이브러리 자체로 해결가능
- 반응형 그래프를 그릴 수 있는 라이브러리

2. pandasecharts 설치 및 준비

  • pyecharts 설치 (1.9.1버전 설치)
!pip install --upgrade pyecharts==1.9.1
  • pandasecharts 설치
!pip install pandasecharts
  • 아래 함수 import
import pandas as pd
from pyecharts.globals import ThemeType # 테마 바꿀 때 사용
from pyecharts.charts import Timeline # 여러 그래프가 순차적으로 보이게 만들 때 사용
from pandasecharts import echart # 그래프를 그려줄  pandasecharts
import IPython # 구글 코랩에서 그래프를 출력할 때 사용
  • pyecharts 테마
    - LIGHT
    - DARK
    - CHALK
    - ESSOS
    - INFOGRAPHIC
    - MACARONS
    - PURPLE_PASSION
    - ROMA
    - ROMANTIC
    - SHINE
    - VINTAGE

3. pandasecharts 사용방법

1) 기본

# bar 그래프 그리기(render.html 파일로 저장)
df1.echart.bar(x='이름', ys=['국어', '영어']).render()
IPython.display.HTML(filename='/content/render.html') # 코랩에서 출력

# 저장 파일명 바꾸기
df1.echart.bar(x='이름', ys=['국어', '영어']).render('파일명.html')
IPython.display.HTML(filename='/content/파일명.html') # 코랩에서 출력
# 저장 않고 노트북으로 출력(코랩에서는 되지 않는다)
df1.echart.bar(x='이름', ys=['국어', '영어']).render_notebook()
# 크기 변경
df1.echart.bar(x='이름', ys=['국어', '영어'], figsize=(600,400)).render()
IPython.display.HTML(filename='/content/render.html') # 코랩에서 출력

# 국어열의 값에 따라 정렬
df1.echart.bar(x='이름', ys=['국어', '영어'], sort='국어', figsize=(600,400)).render()
IPython.display.HTML(filename='/content/render.html') # 코랩에서 출력

# 제목(title) 및 소제목(subtitle) 생성
df1.echart.bar(x='이름', ys=['국어', '영어'], title='중간고사',
               subtitle='누가누가잘했나', figsize=(600,400)).render()
IPython.display.HTML(filename='/content/render.html') # 코랩에서 출력

# 수치 표현하기
df1.echart.bar(x='이름', ys=['국어', '영어'], title='중간고사',
               subtitle='누가누가잘했나', label_show=True, figsize=(600,400)).render()
IPython.display.HTML(filename='/content/render.html') # 코랩에서 출력

2) 테마 변경

# 테마 변경
df1.echart.bar(x='이름', ys=['국어', '영어'], title='중간고사', figsize=(600,400),
               subtitle='누가누가 잘했나', theme=ThemeType.DARK).render()
IPython.display.HTML(filename='/content/render.html')

3) 타임라인

# 타임라인 생성(사이즈 포함)
tl = Timeline({'width':'600px', 'height':'400px'})

# 그래프 생성
bar1 = df1.echart.bar(x='이름', ys=['국어', '영어'], title='1학기', subtitle='중간고사')

# 그래프 생성
bar2 = df2.echart.bar(x='이름', ys=['국어', '영어'], title='1학기', subtitle='기말고사')

# 타임라인에 추가 및 타임라인 그래프 저장
tl.add(bar1, '중간고사').add(bar2, '기말고사').render()

# 타임라인 그래프 출력
IPython.display.HTML(filename='/content/render.html')

0개의 댓글