1 개요
상호작용이 가능한 그래프를 만들어주는 라이브러리. Matplotlib과 동일하게 주로 판다스의 데이터프레임을 받아 사용한다. 사용법은 Seaborn과 유사.
2 특, 장점
단순 이미지로 결과를 반환하는 Matplotlib이나 seaborn과 달리,
- 마우스커서를 올리면 자세한 값을 보여주거나(데이터가 가진 자세한 값을 보여줌.)
- 드래그하면 해당부분만 확대하는 등의 기능이 있음.(더블클릭하면 원래대로)
과정
|
설명
|
방법
|
설치
|
|
pip install plotly
|
공식 문서 링크
3 기초 사용
3.1 그래프 그리기
의도
|
설명
|
방법
|
산점도
|
두 변수 간 관계성을 살필 때 사용.
옵션
옵션
|
설명
|
color='열이름'
|
두 변수 외에 다른 변수를 지정. seaborn의 hue='열이름'와 동일하다.
새로이 지정한 변수값에 따라 다른 색을 입힌다.
|
|
|
|
import plotly.express as px
px.scatter(data_frame = df, x='열', y='열2', color='열3')
|
박스그림
|
x축에 따라 y가 어떻게 분포되어 있는지 보기 위해.
|
px.box(data_frame=df, x='분류?', y='값', color='분류?') # 보통 color값은 x축과 동일하게 넣는다.
|
선그래프
|
시계열이나 변수에 따라 연속적으로 변하는 그래프를 그릴 때.
|
df = df.to_datetime(df['시계열']) # 보통 시계열 그래프를 그릴 땐 시간데이터가 너무 길어 x축을 읽을 수가 없다.
px.line(data_frame = df, x='시계열', y='열2')
|
막대그래프
|
막대그래프의 경우, 개개의 데이터를 보여주는 게 아니기 때문에 통계를 낸 후에 그린다.
보통 agg() 를 통해 mean이나 count를 사용한다.
|
df = df_origin.groupby('x축에 둘 열이름', as_index=False) # 분류할 때 해당 열이 인덱스가 되지 않게끔.
# 보통은 분류 후에 평균값이나 최댓값 등을 계산하여 통계화 한 후에 그래프를 만든다.
df = df.agg(새로운열이름 = ('계산할열', 'mean')) # 새로운열이름은 따옴표로 감싸지 않음에 유의, mean 등 다양한 방식이 가능하다.
df = df.sort_values('새로운열이름', ascending = True) # 보통은 정렬하여 그래프를 그린다.
px.bar(data_frame = df, x='x축에 둘 열이름', y='새로운열이름', color='열이름')
|
3.2 HTML로 저장
HTML에서 바로 활용할 수 있다.
의도
|
설명
|
방법
|
HTML로 저장
|
웹브라우저로 열어볼 수 있다.
|
fig = px.scatter(data_frame = df, x='열', y='열2', color='열3')
fig.write_html('파일명.html')
|