Plotly 라이브러리를 이용해서 버블 차트를 그리는 방법을 알아보겠습니다. 이번에는 그동안의 포스팅과는 다르게 plotly.express라는 비교적 최근 기능을 활용하겠습니다. plotly.express는 사용이 쉽고 빠르게 그래프를 그릴 수 있다는 장점이 있습니다. 다만 아직은 기존의 방법과 비교하면 세부적인 설정까지는 지원되지 않는 부분이 있습니다.
하지만 확실히 편합니다. 그리고 버블 차트는 특히 더 그렇고요.
기본 버블 차트 그리기 (plotly.express 사용)
우선 라이브러리를 불러온 다음 샘플 데이터를 만듭니다.
# 플랏리 익스프레스 라이브러리를 불러옵니다.
import plotly.express as px
# 샘플 데이터를 불러옵니다.
df = px.data.gapminder()
# 상위 5행을 출력합니다.
df.head()
그래프는 아래와 같이 매우 짧은 코드로 손쉽게 만들 수 있습니다. 2007년 대륙별 나라별 "gdp/인구", "기대 수명"을 나타내는 버블 차트입니다.
fig = px.scatter(data_frame=df[df['year'] == 2007], x='gdpPercap', y='lifeExp', color='continent', hover_name='country')
fig.show()
특정 값에 따라 버블 크기를 다르게 그리기
plotly.express의 장점은 고급 기능을 짧은 코드로 사용할 수 있게 해 준다는 점입니다. 예를 들어 버블 차트에서 각각의 버블 크기를 다르게 만들고 싶다면 size='크기 기준이 되는 칼럼명'을 추가하면 끝입니다. 그러면 plotly가 알아서 각각의 버블 크기를 조정해줍니다. 만약 그려진 버블의 크기가 작다고 생각되면 버블의 최대 크기를 조절하면 됩니다.
fig = px.scatter(data_frame=df[df['year'] == 2007], x='gdpPercap', y='lifeExp', color='continent', hover_name='country', size='pop', size_max=50)
fig.show()
- 이 글은 아나콘다(Anaconda3)가 설치된 주피터 노트북에서 작성되었습니다.