프로그래밍/백준

데이터 분석 - 인터랙티브 그래프(with plotly.express)

매 석 2023. 1. 17. 15:53
반응형

1. 인터랙티브 그래프

마우스 움직임에 반응하며 실시간으로 변하는 그래프를 말한다.

 fig = px.line(df, x='Date', y='Close', title='{}의 종가(Close) '.format(company))

    fig.update_xaxes(
        rangeslider_visible=True,
        rangeselector=dict(
            buttons=list([
                dict(count=1, label="1m", step="month", stepmode="backward"),
                dict(count=3, label="3m", step="month", stepmode="backward"),
                dict(count=6, label="6m", step="month", stepmode="backward"),
                dict(step="all")
            ])
        )
    )
fig.write_html("./templates/chart.html")

주식 시세 조회 웹 프로그래밍을 할 때 만들어 본 기억이 있다.

html 형식으로 저장하여, 확대 축소 등이 가능한 그래프 형태이다.

 

 

 

2. 인터랙티브 막대그래프 만들기

소스 코드

import pandas as pd
mp = pd.read_csv('mp.csv')
import plotly.express as px
df=mp.groupby('category',as_index=False).agg(n=('category','count'))
px.bar(df,x='category',y='n',color='category')

결과 사진

이렇게 범위를 설정하여 확대, 축소가 가능하다.

+ 기타 설정

#그래프 크기 조절
fig = px.box(~~~, width=600, height=500)
#HTML 파일로 저장
fig.write_html('test.html')
#새 창에 그래프 출력
plotly.io.renderers.default='browser'
#설정을 원래대로 돌림
plotly.io.renderers.default='jupyterlab'